0

ワインオントロジーからすべての食事コースをリストするのを手伝ってください。または、次のような便利なリンクを喜んで受け取ってください

MealCourse and (hasFood value Pizza) and(hasDrink value Wine)

ありがとうございました

4

1 に答える 1

0

これは少し複雑ですが、オントロジーを調べると、 a として定義されているものはすべて である: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
于 2015-03-09T17:35:32.440 に答える