SPARQL-запрос для получения имени моей пиццы
Я только начинающий в SPARQL и могу написать несколько базовых запросов. У меня есть онтология пиццы, в которой есть одна пицца, свойства которой следующие:
rdf:subClassOf NamedPizza
hasTopping only (MozzarellaTopping
or PeperoniSausageTopping
or TomatoTopping)
hasTopping some MozzarellaTopping
hasTopping some PeperoniSausageTopping
hasTopping some TomatoTopping
Я написал следующий запрос, но он не дает результата.
SELECT * WHERE
{
?pizza rdfs:subClassof [
owl:onProperty :hasTopping;
owl:someValuesFrom :MozzarellaTopping ] .
?pizza rdfs:subClassof [
owl:onProperty :hasTopping;
owl:someValuesFrom :PeperonSausageTopping ] .
?pizza rdfs:subClassof [
owl:onProperty :hasTopping;
owl:someValuesFrom :TomatoTopping ] .
}
Что такое запрос SPARQL, чтобы получить название этой пиццы?
Я использую Protege 4.2, а также TopBraid для выполнения запроса SPARQL
2 ответа
В своем SPARQL-запросе вы пишете rdfs:subClassof
вместо rdfs:subClassOf
("о" вместо "о"). Использование заглавных букв имеет значение, поскольку префиксная нотация является просто сокращением для URI, а в URI разные символы (например, строчные, а не прописные) создают разные URI.
Сократите запрос до тех пор, пока он что-то не даст, затем посмотрите, почему удаленная вами часть не соответствует данным.