gpt4 book ai didi

sparql - 将 bnode 转换为 graphdb 中的字符串

转载 作者:行者123 更新时间:2023-12-05 04:26:00 25 4
gpt4 key购买 nike

我有一个 RDF 文件,其中的资源是用 nodeID 而不是 URI 来标识的。我已将它们导入 Ontotext graphdb,并希望根据 nodeID(我在导入过程中保留)生成 URI。例如,我正在尝试映射这个三元组

_:C00456 rdf:type skos:Concept

为此:

<https://example.com/data/C00456> rdf:type skos:Concept

不幸的是,如果 ?s 是一个 BNODE,STR(?s) 在 graphdb 中是一个空字符串。 xsd:string(?s),同上。 IRI(?s),你猜对了。是否有任何函数可以将 bnode 的形式公开为字符串,以便我可以从中构建 URI?我查看了 sparql 1.1 规范中的函数列表,但没有看到任何内容。

PS 如果 graphdb 在导入过程中将 nodeID 转换为 URI 就好了(我为相对名称指定了一个前缀),但它照章办事并将它们转换为 bnode。如果我忽略了什么,我会很高兴被纠正过来。

最佳答案

您可以使用 spif:buildString 函数将 BNode 转换为 String,然后再转换为 IRI。这是一个示例查询:

PREFIX spif: <http://spinrdf.org/spif#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
CONSTRUCT {?sIRI ?p ?o} WHERE {
?s ?p ?o .
FILTER (isBlank(?s))
BIND (IRI(spif:buildString("http://my/namespace/{?1}", ?s)) as ?sIRI)
} LIMIT 10

函数记录在这里: https://graphdb.ontotext.com/documentation/10.0/sparql-functions-reference.html?highlight=buildstring#sparql-spin-functions-and-magic-predicates

关于sparql - 将 bnode 转换为 graphdb 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73122042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com