简短回答:没有任何内容符合您的查询。您可以通过运行查看与您的查询结构匹配但没有给定辣味值的所有内容
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT * WHERE {
?topping rdfs:subClassOf pizza:PizzaTopping .
?topping rdfs:subClassOf ?restriction .
?restriction rdf:type owl:Restriction .
?restriction ?p ?o .
}
结果:
+--------------------+---------------------+---------------------+
| topping | p | o |
+--------------------+---------------------+---------------------+
| pizza:FishTopping | rdf:type | owl:Restriction |
| pizza:FishTopping | owl:onProperty | pizza:hasSpiciness |
| pizza:FishTopping | owl:someValuesFrom | pizza:Mild |
| pizza:NutTopping | rdf:type | owl:Restriction |
| pizza:NutTopping | owl:onProperty | pizza:hasSpiciness |
| pizza:NutTopping | owl:someValuesFrom | pizza:Mild |
+--------------------+---------------------+---------------------+
那么这里的问题是什么?下一步将是反过来,即我们检查与辣味相关的所有内容:
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT DISTINCT ?s WHERE {
?s rdfs:subClassOf ?restriction .
?restriction owl:onProperty pizza:hasSpiciness .
?restriction owl:someValuesFrom pizza:Hot .
}
结果:
+------------------------------+
| s |
+------------------------------+
| pizza:HotGreenPepperTopping |
| pizza:JalapenoPepperTopping |
| pizza:TobascoPepperSauce |
| pizza:CajunSpiceTopping |
| pizza:HotSpicedBeefTopping |
+------------------------------+
那么,这怎么可能呢?好吧,简短的回答是,没有一个辣浇头被定义为 pizza:PizzaTopping 类的实例,您可以使用额外的可选三重模式来验证这一点
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX pizza: <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT distinct ?s ?type WHERE {
?s rdfs:subClassOf ?restriction .
?restriction owl:onProperty pizza:hasSpiciness .
?restriction owl:someValuesFrom pizza:Hot .
OPTIONAL {?s rdf:type ?type }
}
结果:
+------------------------------+------------+
| s | type |
+------------------------------+------------+
| pizza:HotGreenPepperTopping | owl:Class |
| pizza:JalapenoPepperTopping | owl:Class |
| pizza:TobascoPepperSauce | owl:Class |
| pizza:CajunSpiceTopping | owl:Class |
| pizza:HotSpicedBeefTopping | owl:Class |
+------------------------------+------------+