2010-01-15 4 views
1

je dois utiliser ROWLKit http://www.dis.uniroma1.it/quonto/?q=node/30requêtes SPARQL pour l'ontologie Pizza

(1) peut suggérer deux personne requêtes SPARQL pour le Pizza.owl?


(2) cette requête est-elle valide?

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) si elle est une requête valide alors: est la réponse d'un résultat vide?

+0

Pouvez-vous donner plus de détails, en particulier pourquoi avez-vous besoin (1) et que voulez-vous dire par (3) – RobV

Répondre

1

(2) semble être une requête valide

Je ne comprends pas partie (3) de votre question. (2) ne peut pas être comparé à un booléen car il renvoie un ensemble de résultats, si vous voulez un résultat booléen, vous devez utiliser une requête ASK. Si une requête ASK renvoie true, cela signifie qu'il existe des solutions à la requête dans les données que vous interrogez, de sorte que ce ne soit pas un résultat vide.

3
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

(1) peut suggérer deux personne requêtes SPARQL pour le Pizza.owl?

Voici deux exemples:

SELECT * WHERE { ?s ?p ?o } 

et:

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

(2) Est-ce requête valide?

Oui. (3) s'il s'agit d'une requête valide, alors: la réponse est-elle un résultat vide? Je suppose que vous voulez dire "si j'interroge le document RDF qui sérialise l'ontologie de la pizza, la réponse est-elle un résultat vide?". La réponse est oui.