Protege等效于查询

时间:2015-03-09 14:03:44

标签: sparql semantics semantic-web protege4

请帮助列出葡萄酒本体论中的所有Mealcourse,或者很高兴收到这样的有用链接:Sparql query on restriction list (Equivalent To) in protégé

MealCourse相关联 和(hasFood值比萨饼) 和(hasDrink value Wine)

谢谢

1 个答案:

答案 0 :(得分:0)

这有点复杂,但是如果你查看本体,那么定义为:MealCourse的所有内容都是owl:equivalentClass,所以你需要先找到所有owl:equivalentClass然后再查找你查看结果,你会发现它们是由owl:intersectionOf个部分组成的。然后你需要打破这个交叉点并进行过滤,这样你才能获得:MealCourse作为交集的一部分的对象。

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.w3.org/TR/2003/PR-owl-guide-20031209/food#>
SELECT distinct *
    WHERE { ?subject owl:equivalentClass ?object. 
    ?object (owl:intersectionOf | owl:unionOf) ?node.
    ?node rdf:rest*/rdf:first ?eq.
    Filter ( ?eq in (:MealCourse ) )
}
orderBy ?subject