首页 > 解决方案 > 插入数据时,Amazon Neptune 会覆盖空白节点值

问题描述

将带有空白节点的三元组插入 Amazon Neptune 实例时:

INSERT DATA { <http://example.com/s> <http://example.com/p> _:something }

…空白节点的值被替换为b<SOME NUMBER>. 运行这样的查询:

SELECT ?o WHERE { <http://example.com/s> <http://example.com/p> ?o }

…将返回如下内容:

{
    "results": {
        "bindings": [
            {
                "o": {
                    "type": "bnode",
                    "value": "b24508943"
                }
            }
        ]
    }
}

将数据加载到 Neptune 时,有没有办法保留原始的空白节点名称?

标签: sparqlrdfamazon-neptuneblank-nodes

解决方案


空白节点的想法是它们不可寻址(从“外部”)。如果您需要稍后可以处理的内容(即“指向”),您应该给它一个 URI。

如果您有一个空白节点作为某些语句的主题,那么如果其他语句也使用该空白节点(例如,作为其对象),您可能能够找到这些语句。也就是说,您可以使用查询来查找它们。否则,使用 URI。


推荐阅读