【问题标题】:How to define type of object in Redland R RDF triples如何在 Redland RDF 三元组中定义对象类型
【发布时间】:2018-01-05 23:01:05
【问题描述】:

我正在尝试使用 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 而不是&lt;a:John&gt;

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

在 SPARQL 中的折叠中不匹配

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

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

【问题讨论】:

  • 改用objectType="uri"
  • 完美。就是这样。如果您将其发布为答案,我可以接受。
  • 请自行发布答案并接受。可能您可以粘贴指向文档的链接(我猜是this 链接),甚至可以粘贴到RDF 1.1 规范。看来 Redland RDF R 库的文档确实不是很好。

标签: r rdf triples redland


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多