使用属性Pizza.owl时出现空结果

问题描述 投票:1回答:1

我正在尝试在Protege 4.3(在Pizza.owl上)运行以下SPARQL查询,但是我得到一个空结果:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX : <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
SELECT ?pizzaInstance ?pizzaClass ?toppingInstance
WHERE {
?pizzaClass rdfs:subClassOf :NamedPizza .
?pizzaInstance rdf:type ?pizzaClass .
?pizzaInstance :hasTopping ?toppingInstance .
}

这只发生在我运行涉及属性的查询时。使用相同的前缀,以下查询可以正常工作 - 并返回NamedPizza:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX : <http://www.co-ode.org/ontologies/pizza/pizza.owl#>
SELECT ?pizzaInstance 
WHERE {
?pizzaInstance rdfs:subClassOf :Pizza .
}

第一个查询有什么问题?

owl ontology protege
1个回答
2
投票

我终于明白我做错了什么。此查询返回pizzaInstance的个人,并且我的本体中的所有个体都没有顶部。当我查询hasCalorificContentValue而不是hasTopping时,我得到了预期的结果:

PREFIX pz: <http://www.semanticweb.org/ontologies/2017/11/Ontology1512823737278.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?pizzaClass ?pizzaInstance ?calorificInstance
WHERE {
?pizzaClass rdfs:subClassOf pz:NamedPizza .
?pizzaInstance rdf:type ?pizzaClass.
?pizzaInstance pz:hasCalorificContentValue ?calorificInstance.
}

enter image description here

检查原始owl文件时,查询变得有意义(示例-MargheritaPizza属于MargheritaPizza类型,并且涉及数据类型属性hasCalorificValue):

<owl:NamedIndividual rdf:about="&Ontology1512823737278;Example-MargheritaPizza">
        <rdf:type rdf:resource="&Ontology1512823737278;MargheritaPizza"/>
        <hasCalorificContentValue rdf:datatype="&xsd;int">263</hasCalorificContentValue>
    </owl:NamedIndividual>

Here是一个很好的教程,希望这有助于某人。

© www.soinside.com 2019 - 2024. All rights reserved.