2017-01-16 2 views
1

J'utilise un algorithme de fenêtre glissante pour rechercher des adresses URI dans DBpedia. Avec les chaînes de mots-clés entrées, je les sépare en petites grappes, puis recherche sur DBpedia.Algorithme de fenêtre glissante: recherche d'une entité exacte dans DBpedia à l'aide de SPARQL

Exemple:

Mot clé: Actor of the film titanic

=> les séparer en: Actor of the, Actor of, Actor, of the film, of the, of, the film Titanic,the movie, the, film titanic, movie, titanic

Question: Comment puis-je rechercher exactement Les entités nommées en tant que mots clés (phrases analysées ci-dessus) sont-elles incluses en utilisant SPARQL?

Merci beaucoup.

+0

Je remarque que vous faites plus que * splitting * le terme de recherche d'origine - comme vous avez 'movie' et' Titanic' (capital 'T') dans votre jeu séparé, mais ceux-ci n'apparaissent pas dans le original. Cela rend votre question plus importante qu'elle ne semble au premier abord - et réinvente plusieurs autres roues. – TallTed

Répondre

1
  1. Il y a tellement de questions à répondre à des systèmes maintenant les données liées et évaluées par rapport DBpedia - Je ne comprends pas pourquoi vous voulez réinventer la roue.

  2. Requête SPARQL en utilisant quoi? Vous pouvez faire correspondre les valeurs rdfs:label, par ex.

    SELECT DISTINCT ?s WHERE {?s rdfs:label "KEYWORD"@en .}

, mais la plupart des systèmes d'assurance qualité utilisent un indice de texte intégral pré-calculé sur la base Lucene ou similaires. Au moins, c'est ainsi que nous l'avons fait dans notre (s) projet (s) d'assurance qualité.

+0

Merci beaucoup. J'ai utilisé la requête ci-dessous: SELECT distinct? S où { ? S rdfs: étiquette "+ searchText +" @ fr. " ? S foaf: name" + searchText + "@ fr." ? S foaf: givenName "+ searchText +" @ fr. " ... } –