2014-05-09 4 views
2

J'utilise la bibliothèque DBPediaSpotLight et essayer de uri obtenir pour chaque mot dans dbpedia comme:Comment puis-je obtenir toutes les catégories dans dbpedia?

mot: enseigner

l'URI est: http // dbpedia.org/ressources/Enseignant

la catégorie:/entreprise/job_title

et je veux tous les sous-catégories pour les niveaux le mot « enseigner » (3) .. Je vais essayer de chercher requête dans sparql mais je n » Je ne trouve pas ce que je veux.

+0

http://dbpedia.org/resource/Teacher est pas une catégorie DBpedia. Qu'est-ce que vous essayez exactement d'obtenir des sous-catégories de? –

Répondre

3

http://dbpedia.org/resource/Teacher (en abrégé dbpedia: Teacher) n'est pas une catégorie dans DBpedia, donc cela n'a pas vraiment de sens d'en demander des sous-catégories. Cependant, http://dbpedia.org/resource/Category:Teachingest une catégorie, et ne possède des sous-catégories. DBpedia organise les catégories en utilisant la propriété skos: large. Chaque supercatégorie est skos: plus large que ses sous-catégories. Pour obtenir ses sous-catégories, jusqu'à trois niveaux de profondeur, vous pouvez utiliser une requête comme ceci:

select distinct ?subcategory where { 
    category:Teaching skos:broader?/skos:broader?/skos:broader ?subcategory 
} 

SPARQL results

Un chemin de propriété avec un / signifie un chemin de propriété suivie d'une autre. Un point d'interrogation après un chemin de propriété signifie 0 ou 1 occurrence du chemin. Ainsi, le chemin

skos:broader?/skos:broader?/skos:broader 

moyens (0 ou 1 plus large)/(0 ou 1 plus large)/plus large, ce qui signifie que vous trouverez des liens entre l'enseignement et les sous-catégories 1, 2, ou 3 liens plus larges à l'extérieur.

+0

J'essaie de faire quelque chose de similaire pour aller chercher tous les types d'événements sociaux. J'ai trouvé la catégorie "Evénements sociaux" qui a des sous-catégories avec des types d'événements sociaux réels dont je pense qu'ils sont ce dont j'ai besoin. J'ai essayé de faire quelque chose de similaire avec votre exemple, mais il affiche des données étranges - 'select distinct? Sous-catégorie où { catégorie: Social_events skos: plus large/skos: plus large?/Skos: plus large? Sous-catégorie }' –

+0

[requête Sparql résultat] (http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+%3Fsubcategory+where+%7B%0D%0A++category%3ASocial_events+skos% 3Abroader% 3F% 2Fskos% 3Abroader% 3F% 2Fskos% 3Abroader +% 3Fsubcategory% 0D% 0A% 7D & format = text% 2Fhtml & timeout = 30000 & debug = on) –

Questions connexes