有没有办法在 SPARQL 中生成 UUID?我正在使用 Jena-Fuseki 版本。我不能使用 b 节点。谢谢!
问问题
1202 次
3 回答
2
Jena 的 ARQ 包括许多作为 SPARQL扩展的内置函数,包括 UUID 生成器。这些函数中的许多都列在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
查询返回一个 RDF 图,表示生成的 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 中提供了几个函数:斯特鲁伊德()。
于 2013-06-21T18:28:32.170 回答