INSERT WHERE を使用して値を挿入しようとしています。セマンティック リポジトリとして 4Store を使用しています。
クエリは次のとおりです。
INSERT {
<http://some.com#test2> rdf:type <http://dbpedia.org/ontology/Floor> .
?URI1257846444363706 <http://dbpedia.org/ontology/TestFloor> <http:// some.com #test2> .
<http:// some.com #test2> <http://dbpedia.org/ontology/floorNo> 'B11' .
}
WHERE {
?URI1257846444278864 rdf:type <http://dbpedia.org/ontology/Campus> .
?URI1257846444278864 <http://dbpedia.org/ontology/hasCampusCode> 'ABC' .
?URI1257846444363706 rdf:type <http://dbpedia.org/ontology/Building> .
?URI1257846444278864 <http://dbpedia.org/ontology/Building> ?URI1257846444363706 .
?URI1257846444363706 <http://dbpedia.org/ontology/hasBuildingCode> 'XYZ' .
}
上記のクエリを実行すると、INSERT のトリプルがストアに挿入されません (SELECT クエリを使用してトリプルを取得しようとしましたが、結果が返されません)。WHERE 句のすべてのトリプルをチェックしましたが、それらはすべてストアに存在します。
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT * {
?URI1257846444278864 rdf:type <http://dbpedia.org/ontology/Campus> .
?URI1257846444278864 <http://dbpedia.org/ontology/hasCampusCode> 'ABC' .
?URI1257846444363706 rdf:type <http://dbpedia.org/ontology/Building> .
?URI1257846444278864 <http://dbpedia.org/ontology/Building> ?URI1257846444363706 .
?URI1257846444363706 <http://dbpedia.org/ontology/hasBuildingCode> 'XYZ' .
}
結果:
<head>
<variable name="URI1257846444278864"/>
<variable name="URI1257846444363706"/>
</head>
<results>
<result>
<binding name="URI1257846444278864"><uri>http://some.com/Ontology/2012.owl#ranfa1087b9-6cee-4433-a4d3-816e9b1af208</uri></binding>
<binding name="URI1257846444363706"><uri>http://some.com/Ontology/2012.owl#ran1224548700931885</uri></binding>
</result>
</results>
ただし、変数が 1 つだけの同じ INSERT WHERE は正常に機能します。
INSERT {
<http://some.com#test2> rdf:type <http://dbpedia.org/ontology/Floor> .
?URI1257846444363706 <http://dbpedia.org/ontology/TestFloor> <http:// some.com #test2> .
<http:// some.com #test2> <http://dbpedia.org/ontology/floorNo> 'B11' .
}
WHERE {
?URI1257846444363706 rdf:type <http://dbpedia.org/ontology/Building> .
?URI1257846444363706 <http://dbpedia.org/ontology/hasBuildingCode> 'XYZ' .
}
最初の INSERT WHERE に何か問題がありますか?