请帮助列出葡萄酒本体中的所有餐餐,或者很高兴收到像以下这样的有用链接:Sparql query on restriction list (Equivalent To) in protégé
MealCourse和(hasFood值比萨)和(hasDrink值葡萄酒)
谢谢
发布于 2015-03-09 17:35:32
这有点复杂,但是如果您查看本体--定义为: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 ?subjecthttps://stackoverflow.com/questions/28943907
复制相似问题