我在nodejs中使用的是rdfstore,我不知道如何重用空白节点。我需要多次使用空节点,而不是一次。
以下是代码:
graph.add(rdf.createTriple(
new rdf.api.BlankNode(id);
rdf.createNamedNode(predicate)
rdf.createBlankNode()
);id取自以前输入的blankNode "_:30“=> 30。
我检查了创建的空白节点,它是正确的(与正确的id)。但是当我查看db时,它有错误的一个。它似乎在使用一些计数器,即使我给他精确的节点。
编辑1
我已经检查创建了三重,它看起来像我想要的。因此,问题一定是在图中添加三元组/存储三元组。
谢谢你的帮助,
米哈尔。
发布于 2015-01-21 20:41:19
原因其实很简单:每次对rdfstore.Store.insert的调用都会创建一个SPARQL INSERT语句。并且每个单独的SPARQL语句都有它自己的一组唯一的空白节点。
尽管如此,我们问题的唯一解决方案是收集三元组,将其添加到一个数组中,最后一次将它们全部添加。
var triples = [];
[...]
store.insert(store.rdf.createGraph(triples),
graph,
function(success, cnt) {
if(success) console.log(cnt + ' triples successfully added.');
});我希望这能帮到你。
https://stackoverflow.com/questions/27501056
复制相似问题