1

SPARQL で UUID を生成する方法はありますか? Jena-Fuseki バージョンを使用しています。b ノードを使用できません。ありがとう!

4

3 に答える 3

2

Jena の ARQ には、UUID ジェネレーターなど、SPARQL拡張機能として多数の組み込み関数が含まれています。これらの関数の多くは、ARQ ドキュメントのARQ の関数uuidページにリストされていますが、リストされていません。Jena のコマンド ライン ツールを使用した使用例を次に示します。次のクエリは、 というファイルにありますquery.sparql

prefix afn: <http://jena.hpl.hp.com/ARQ/function#>
prefix ex: <http://example.org/>

construct { 
  ?uuid a ex:UUID
}
where {
  BIND( afn:uuid() as ?uuid ) 
}

コマンド ライン ツールにはarqデータ入力が必要なので、 という空のファイルを作成しましたdata.n3。クエリはconstruct、生成された UUID がex:UUID.

$ arq --query query.sparql --data data.n3 
@prefix afn:     <http://jena.hpl.hp.com/ARQ/function#> .
@prefix ex:      <http://example.org/> .

<urn:uuid:295322a3-7eab-4e4c-b0a0-ca8ac77f3205>
      <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
                    ex:UUID .

別のシリアライゼーション形式:

$ arq --query query.sparql --data data.n3  --results RDF/XML
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:afn="http://jena.hpl.hp.com/ARQ/function#"
    xmlns:ex="http://example.org/">
  <ex:UUID rdf:about="urn:uuid:10c7c8f0-4154-4bbf-ab0c-c52a4196b804"/>
</rdf:RDF>
于 2013-06-21T19:13:43.447 に答える
0

実際、Jena はPREFIX afn でいくつかの関数を提供しているようです。 struuid()。

于 2013-06-21T18:28:32.170 に答える