SPARQL-запросы для онтологии Pizza - PullRequest
1 голос
/ 16 января 2010

я должен использовать ROWLKit http://www.dis.uniroma1.it/quonto/?q=node/30

(1) кто-нибудь может предложить два запроса sparql для Pizza.owl?


(2) этот запрос действителен?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
SELECT * 
WHERE { ?p rdf:type pizza:Pizza;
           pizza:hasTopping ?t.
        ?t rdf:type pizza:TomatoTopping }

(3) если это правильный запрос, то: является ли ответ пустым результатом?

Ответы [ 3 ]

3 голосов
/ 03 октября 2011
SELECT DISTINCT *
WHERE { 
 ?NombrePizza ?Relacion pizza:MushroomTopping .
 ?Relacion owl:inverseOf pizza:isToppingOf .
 OPTIONAL { 
  ?NombrePizza2 ?Relacion2 pizza:HamTopping .
  ?Relacion2 owl:inverseOf pizza:isToppingOf . 
 }
 FILTER(?NombrePizza2 = ?NombrePizza)
}
2 голосов
/ 21 августа 2012

(1) Кто-нибудь может предложить два запроса sparql для Pizza.owl?

Вот два примера:

SELECT * WHERE { ?s ?p ?o }

и

SELECT ?class WHERE { ?class  a  owl:Class }

(2) этот запрос действителен?

Да.

(3) если это правильный запрос, то: является ли ответ пустым результатом?

Я предполагаю, что вы имеете в виду "если я запрашиваю документ RDF, который сериализует онтологию пиццы, является ли ответ пустым результатом?" Ответ да .

1 голос
/ 21 января 2010

(2) представляется правильным запросом

Я не понимаю часть (3) вашего вопроса. (2) нельзя сравнивать с логическим значением, поскольку он возвращает набор результатов. Если вы хотите получить логический результат, вам нужно использовать запрос ASK. Если запрос ASK возвращает true, это означает, что в запросе данных есть решения для запроса, поэтому он не будет пустым результатом.

...