以下は私の2つのテーブルです:
CREATE TABLE Tree (
"id" integer NOT NULL, -- Primary key
"tags" varchar(500),
"rootNode" integer NOT NULL -- Referes to Node table's "id"
);
CREATE TABLE Node (
"id" integer NOT NULL, -- Primary key
"parent" integer NOT NULL,
"owner" varchar(500),
"data" varchar(500),
"tags" varchar(500)
);
これらのために作成した一般的な RDF ファイルは次のとおりです。
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wp="http://example.com/dm#">
<wp:WPS rdf:about="http://example.com/">
<wp:node><rdf:Description> <wp:id>0</wp:id><wp:parent>-1</wp:parent><wp:owner>Kumar</wp:owner><wp:data>--#ABCDEFGHIJKLMNOPQRSTUVWXYZ#--</wp:data><wp:tags>MyTag</wp:tags></rdf:Description></wp:node>
.....
<wp:tree><rdf:Description> <wp:treeId>814</wp:treeId><wp:treeTags>Banking</wp:treeTags><wp:rootNode>19989</wp:rootNode></rdf:Description></wp:tree>
.......
</wp:WPS></rdf:RDF>
これら 2 つのテーブルの結合 rdf ファイルを作成するこの正しい方法はありますか?
次に、次の SQL クエリと同様の SPQRQL クエリを実行します。
select w.id, w.tags, w.owner from Node w, Tree t where t.id=100;
FILTER を使用して次のクエリを使用しようとしましたが、目的の結果を得ることができませんでした。これを行う正しい方法は何ですか?
PREFIX wp: <http://example.com/dm#>
SELECT ?x ?id
WHERE {
?x wp:id ?id .
?x wp:trailId ?trailId .
?x wp:rootWP ?rootWP .
FILTER (?trailId = 100)
FILTER (?rootWP = ?id)
}