3

この .rdf をStardogにロードしてから、 Pubbyを使用して Jetty 上で実行し、トリプル ストアを閲覧しています。

私のrdfファイルには、stardogによって空白のノード識別子が与えられたいくつかの空白のノードがあります。これは rdf ファイルの一部です。

<kbp:ORG rdf:about="http://somehostname/resource/res1">
<kbp:canonical_mention>
<rdf:Description>
    <kbp:mentionStart rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1234</kbp:mentionStart>
    <kbp:mentionEnd rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1239</kbp:mentionEnd>
    </rdf:Description>
</kbp:canonical_mention>

したがって、基本的には、言及の開始と言及の終了のオフセット値を持つ空白ノードへのリンクを持つリソース「res1」があります。

Pubby の config.ttl ファイルのスニペットを以下に示します。

conf:dataset [
    # SPARQL endpoint URL of the dataset
conf:sparqlEndpoint <http://localhost:5822/xxx/query>;
    #conf:sparqlEndpoint <http://localhost:5822/foaf/query>;
    # Default graph name to query (not necessary for most endpoints)
    conf:sparqlDefaultGraph <http://dbpedia.org>;
    # Common URI prefix of all resource URIs in the SPARQL dataset
conf:datasetBase <http://somehostname/>;
...
...

したがって、重要なのは、URI を URL にマップする datasetBase です。

これをマッピングしようとすると、「匿名ノード」リンクがありますが、クリックしても何も表示されません。私の推測では、これは空白ノードに _:bnode1234 のような識別子があり、Pubby によってマップされていないためです。

これらの空白のノードをマッピングする方法を知っている人がいるかどうかを知りたかったのです。

(注: この rdf を静的 rdf ファイルとして Pubby に直接ロードすると、問題なく動作します。しかし、stardog をトリプル ストアとして使用すると、このマッピングはうまく機能しません)

4

1 に答える 1

2

Pubby では、BNode ID が利用可能になっているため、おそらく動作します。一般に、SPARQL 仕様は、BNode 識別子が永続的であることを保証または要求しません。つまり、同じクエリを複数回発行すると、同じ結果セット (bnode を含む) が返され、識別子は毎回異なる可能性があります。同様に、クエリ内の bnode 識別子は変数のように扱われますが、その特定の bnode をクエリしているわけではありません。

したがって、Pubby はおそらく役に立ち、それを機能させているため、サードパーティのデータベースとは対照的に、Pubby を直接使用することが機能します。

Stardog は、bnode 識別子を山かっこで囲む Jena/ARQ トリックをサポートしています<_:bnode1234>。つまり、識別子「bnode1234」を持つ bnode を意味します。Pubby に bnode のクエリでその構文を使用させることができれば、おそらくうまくいくでしょう。

しかし、一般的に、これは Pubby 開発者と一緒に取り組まなければならない問題だと思います。

于 2012-12-06T13:52:33.290 に答える