2010-11-30 26 views
1

セサーム(openrdf.org)サーバをセットアップして、Java APIによってそのサーバにアクセスしようとしました。SERQLクエリを理解できません

は、テスト目的のために、私はウィキペディアから本当に簡単な例を使用しています

<?xml version="1.0" encoding="UTF-8" ?> 
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"> 
    <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Resource_Description_Framework"> 
<dc:title>Resource Description Framework</dc:title> 
<dc:publisher>Wikipedia - Die freie Enzyklopädie</dc:publisher> 
</rdf:Description> 
</rdf:RDF> 

<?xml version="1.0" encoding="UTF-8" ?> 
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
     xmlns:dc="http://purl.org/dc/elements/1.1/"> 
    <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Resource_Description_Framework"> 
    <dc:title>Resource Description Framework 2</dc:title> 
    <dc:publisher>Wikipedia - Die freie Enzyklopädie</dc:publisher> 
    </rdf:Description> 
</rdf:RDF> 

セサミワークベンチでのSPARQLクエリが期待どおりに動作:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX dc: <http://purl.org/dc/elements/1.1/> 
SELECT ?title 
WHERE{ 
?res dc:publisher ?pub . 
?res dc:title ?title 

FILTER (
sameTerm(?pub, "Wikipedia - Die freie Enzyklopädie") 
) 
} 

出版社 "Wikipedia - Die freieEnzyklopädie"からすべてのタイトルを返します。

Java APIの場合、この例をSERQLに変換しようとします。

私は、クエリ、次の試してみました:

SELECT title 
FROM {title} dc:publisher {"Wikipedia - Die freie Enzyklopädie"} 
USING NAMESPACE 
rdf = <http://www.w3.org/1999/02/22-rdf-syntax-ns#>, 
dc = <http://purl.org/dc/elements/1.1/> 

をしかし、これは、すべてのデータではなく、タイトルが、RDFのURLを返しますについて。私はまた "タイトル"の代わりに "dc:title"のようなさまざまなバリエーションを試しましたが、結果はまったくありません。

私はすでにネットを検索し、多くのドキュメントを読んでいます。しかし、どういうわけか私は実際にSERQL構文を得ていません。

私のためのポインタがありますか? 結果として特定のパブリッシャーからすべてのタイトルを取得するにはどうすればよいですか?

ありがとうございます!

答えて

0

まず、SeRQL manualSesame user documentationで利用可能なので、SeRQLの構文を理解するのに役立ちます。

特定のクエリについては、SeRQLクエリが以前に与えたSPARQLクエリと異なるものを要求するという問題があります。私はここであまり詳細には触れませんが、あなたのSPARQLクエリのSeRQL相当は次のようになります。

SELECT title 
FROM {res} dc:publisher {"Wikipedia - Die freie Enzyklopädie"}; 
      dc:title {title} 
USING NAMESPACE 
rdf = <http://www.w3.org/1999/02/22-rdf-syntax-ns#>, 
dc = <http://purl.org/dc/elements/1.1/> 

SeRQLフォーム{subject} predicate {object}でトリプルパターンを表しています。

関連する問題