如何在Redland R RDF三元组中定义对象的类型



我正在尝试使用Redland R RDF实现来构造一个简单的RDF存储,但是在编写非文字三元组时遇到问题。在代码中,在设置worldmodel之后,而文字三元组

addStatement(model,
new("Statement",world,
"a:John","b:likes","a:Jane"))

给出预期的

<a:John> <b:likes> "a:Jane"

代码

addStatement(model,
new("Statement",world,
"a:Sian","b:likes","a:John",objectType="blank"))

提供_:a:John而不是<a:John>

<a:Sian> <b:likes> _:a:John

在 SPARQL 中的折叠中不匹配

select ?a ?b where {?a <b:likes> ?x. ?x <b:likes> ?b.}

我在这里做错了什么?请注意,此应用程序本身不会查看任何委托数据库,因为我只是使用三元组来利用 SPARQL 查询的逻辑功能。最初在另一个包中这样做,但由于技术原因,我试图搬到雷德兰。

非常感谢斯坦尼斯拉夫上面的评论,答案只是将objectType设置为"uri"。这在 R 中没有很好的记录,但查看 Github 上Statement对象的定义,第 68 行,给出了相关的选项和默认值。

相关内容

  • 没有找到相关文章

最新更新