8
私はSPARQLを使用して、このRDFSPARQLクエリRDFコンテナ(RDF:バッグ)
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:com="http://www.example.com/com#">
<rdf:Description rdf:about="http://www.example.com/com#1">
<com:cities>
<rdf:Bag>
<rdf:li>A</rdf:li>
<rdf:li>B</rdf:li>
<rdf:li>D</rdf:li>
</rdf:Bag>
</com:cities>
<com:name>1</com:name>
</rdf:Description>
<rdf:Description rdf:about="http://www.example.com/com#2">
<com:cities>
<rdf:Bag>
<rdf:li>C</rdf:li>
<rdf:li>B</rdf:li>
</rdf:Bag>
</com:cities>
<com:name>2</com:name>
</rdf:Description>
<rdf:Description rdf:about="http://www.example.com/com#3">
<com:cities>
<rdf:Bag>
<rdf:li>C</rdf:li>
<rdf:li>B</rdf:li>
<rdf:li>D</rdf:li>
</rdf:Bag>
</com:cities>
<com:name>3</com:name>
</rdf:Description>
</rdf:RDF>
を持っている私は、街のD(1および3)が含まれているすべてのオブジェクトの名前を取得する必要があります。私はこのような何かをすることができます:
SELECT ?name
WHERE {
?a com:cities ?cities.
?cities rdf:_1 ?s.
FILTER(?s = "D")
?a com:name ?name.
}
しかし、それは最初の要素だけをチェックします。私はrdf:_2、rdf:_3、...でより多くのクエリを作成でき、UNIONを使用することができますが、Bag内のrdf:liの数はわかりません。 rdf:allのようなものがありますか? これを行うには別の方法がありますか? おかげ
のrdfs:メンバーが私のために働いていないが、第2の解決策はありません。どうもありがとう! – Omilis