sparql - 将空白节点从 stardog 映射到 pubby

标签 sparql rdf triplestore stardog blank-nodes

所以我已经将这个.rdf加载到Stardog上然后我使用 Pubby跑过码头,浏览三重商店。

在我的 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 作为三重存储时,此映射不太有效)

最佳答案

它可能在 Pubby 中有效,因为他们保持 BNode id 可用;一般来说,SPARQL 规范不保证或要求 BNode 标识符是持久的。也就是说,您可以多次发出相同的查询,这会返回相同的结果集(包括 bnode),并且每次的标识符可以不同。同样,查询中的 bnode 标识符被视为变量,这并不意味着您正在查询该特定的 bnode。

因此,Pubby 可能会有所帮助并使其发挥作用,这就是为什么直接使用它而不是第三方数据库的原因。

Stardog 确实支持 Jena/ARQ 技巧,即将 bnode 标识符放在尖括号中,即 <_:bnode1234>这意味着具有标识符“bnode1234”的 bnode。如果您可以让 Pubby 在 bnode 查询中使用该语法,它可能会起作用。

但总的来说,我认为这是您必须与 Pubby 开发人员一起解决的问题。

关于sparql - 将空白节点从 stardog 映射到 pubby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13737703/

相关文章:

sparql - 使用命名图会影响检索查询结果的速度吗?

database - 可以处理大型 RDF 数据集的企业级数据库?

SPARQL 维基数据 - 检索维基媒体类别的成员

Sparql - 将限制条件应用于谓词

rdf - Fuseki 索引 (Lucene) 文本搜索不返回任何结果

neo4j - 图形数据库与三重存储 - 何时使用哪个?

rdf - SPARQL 查询中 OPTIONAL 关键字的替代方法?

sparql - 如何在 sparql 中检索数据时保持顺序

rdf - Sparql where 子句

python - 使用本地 RDF 存储的 SPARQL 查询