Как я могу получить все свойства класса и его подклассы со свойствами из источника данных RDF, используя запрос SPARQL, учитывая имя класса и пространство имен?
Запрос SPARQL — класс и подкласс дают имя класса и пространство имен
comment
Когда вы говорите, что вам нужны свойства класса, вы имеете в виду отдельных лиц (экземпляры класса) и их свойства? Когда вам нужны подклассы, нужны ли вам и транзитивные подклассы (A => B, B => C, поэтому вы хотите, чтобы A => C)? Можете ли вы привести пример запрашиваемого вами графа RDF?
- person Phil M   schedule 29.07.2009
Ответы (2)
Вы пытаетесь выполнить рекурсивный запрос SPARQL? Другими словами, выберите данного человека и все его свойства. Если объектом свойства является другое лицо, выберите его свойства и т. д.
Я не верю, что SPARQL поддерживает это.
Наивный подход состоял бы в том, чтобы сделать что-то подобное (и, если вы имеете в виду отдельных лиц, а не классы, это фактически соответствует вашим требованиям, но не обрабатывает следующий «уровень» троек).
CONSTRUCT {
?s ?p ?o .
?o ?p2 ?o2 .
} WHERE {
?s ?p ?o .
?o ?p2 ?o2 .
}
Обратите внимание, что если ?o2
является предметом каких-либо операторов, этот запрос не вернет их.
person
Phil M
schedule
29.07.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.
person
Simon Gibbs
schedule
11.03.2009