私は JENA を使用しており、学習目的でいくつかの簡単なクエリを作成しています。それらの1つは次のとおりです。
PREFIX uni:<http://www.university.fake/university#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT ?person
WHERE {
?person rdf:type/rdfs:subClassOf <uni:Person>.
?person uni:has_name ?name.
?person uni:member_of ?dep.
?dep uni:dep_city "Patras".
}
4 番目のトリプルがなければ、3 番目のトリプルが?dep
引用された値に置き換えられた場合、残りは結果を生成します。ただし、4 番目のトリプルを追加すると、結果はありません。トリプル自体は独自のクエリで結果を生成するので、問題はないと思います。
RDF データの一部:
<rdf:Property rdf:about="uni:member_of">
<rdfs:domain rdf:resource="uni:Person"/>
<rdfs:range rdf:resource="uni:Department"/>
</rdf:Property>
<rdf:Property rdf:about="uni:dep_city">
<rdfs:domain rdf:resource="uni:Department"/>
<rdfs:range rdf:resource="uni:Literal"/>
</rdf:Property>
<rdf:Description rdf:about="uni:dep1">
<uni:dep_name>CEID</uni:dep_name>
<uni:dep_city>Patras</uni:dep_city>
</rdf:Description>
<rdf:Description rdf:about="uni:prof2">
<uni:has_name>Bob Ross</uni:has_name>
<uni:has_phone>6981234566</uni:has_phone>
<uni:has_age>52</uni:has_age>
<uni:member_of>CEID</uni:member_of>
<uni:teaches>Painting</uni:teaches>
<rdf:type rdf:resource="uni:Professor"/>
</rdf:Description>