gpt4 book ai didi

r - SPARQL 中不带前缀的查询

转载 作者:行者123 更新时间:2023-12-01 17:13:23 25 4
gpt4 key购买 nike

我有一个入门级问题,我的书无法帮助解决,而且我也让一位同事感到困惑。我可以在不指定前缀的情况下使用 RDF 吗?如何在 SPARQL 查询中指定谓词?

我在 R 的 RRDF 包中执行此操作,但如果我将商店设置为

A=new.rdf(ontology=F)
add.triple(A,"Ian","sonOf","Daddy")
add.triple(A,"Ian","sonOf","Mummy")
add.triple(A,"Ian","likes","Chocolate")

我收到以下消息

## Error: com.hp.hpl.jena.query.QueryParseException: Lexical error
at line 1, column 40. Encountered: " " (32), after : "sonOf"

到查询

sparql.rdf(A, "select ?son ?parent where {?son sonOf ?parent}")

我可以这样使用sonOf吗?我必须先设置自己的架构吗?我是否在做一些根本性错误的事情?如果我的所有数据都驻留在同一数据源上,我是否必须使用前缀?

最佳答案

RDF 谓词始终是一个 URI(从技术上讲,实际上是一个 IRI,但我们先把它放在一边)。

可以指定为前缀名称:

  namespace:sonOf

或 IRIRef,例如:

  <http://my.namespace.com#sonOf>

但我认为它不能像您尝试的那样作为一个简单的标签给出。

如果您使用前缀名称样式,则必须定义前缀并将其绑定(bind)到命名空间,以便可以根据您的输入构造有效的 URI。

(正式语法在 SPARQL Specification 中给出。)

关于r - SPARQL 中不带前缀的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20542536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com