SPARQL-запрос - класс и подкласс дают имя класса и пространство имен - PullRequest
1 голос
/ 17 декабря 2008

Как я могу получить все свойства класса и его подклассы со свойствами из источника данных RDF, используя запрос SPARQL, заданный именем класса и пространством имен?

Ответы [ 2 ]

3 голосов
/ 29 июля 2009

Вы пытаетесь выполнить рекурсивный запрос SPARQL? Другими словами, выберите данного человека и все его свойства. Если объектом свойства является другое лицо, выберите его свойства и т. Д.

Я не верю, что SPARQL поддерживает это.

Наивным подходом было бы сделать что-то подобное (и, предполагая, что вы имеете в виду отдельных лиц, а не классов, это фактически соответствует вашим требованиям, но не обрабатывает следующий «уровень» троек).

CONSTRUCT {
    ?s ?p ?o .
    ?o ?p2 ?o2 .
} WHERE {
    ?s ?p ?o .
    ?o ?p2 ?o2 .
}

Обратите внимание, что если ?o2 является субъектом каких-либо утверждений, этот запрос не будет их возвращать.

3 голосов
/ 12 марта 2009

Как насчет этого :

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?subClass ?predicate 
WHERE {
   ?subClass rdfs:subClassOf <http://dbpedia.org/ontology/Work> .
   ?predicate rdfs:domain ?subClass
}

Попробуйте использовать инструмент SPARQL, такой как Интерфейс SNORQL DBPedia .

...