2013-02-24 2 views
4

Я просто начинающий в 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

Cut запрос вниз, пока она не приносит что-то, а затем посмотреть, чтобы понять, почему часть, которую вы удалили не соответствующие данные.

4

В запросе SPARQL вы пишете rdfs:subClassof вместо rdfs:subClassOf ('o' вместо 'O'). Капитализация имеет значение, потому что префиксная нотация является только сокращением для URI, а в URI разные символы (например, строчные буквы вместо верхнего регистра) создают другой URI.