我有一个入门级的问题,我的书无法提供帮助,我也困惑了一位同事。我可以在不指定前缀的情况下使用RDF,以及如何在SPARQL查询中指定谓词?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
吗?我是否必须先设置我自己的Schema?我在做一些根本性错误?如果我的所有数据都驻留在同一个数据源上,我必须使用前缀吗?
这真的很有用。如果我尝试这样做,它仍然不起作用。我是否必须在我指定的URI处定义任何内容?即在你的例子中,是my.namespace.com实际使用? – drw
那么这个URI必须实际存在于你的数据中,我不熟悉你使用的软件包,所以我不知道它是如何创建URIs,如你的问题所示。它可能会保持相对URI,在这种情况下,您应该能够直接使用'',如果这样做不起作用,请尝试将数据转储到NTriples,因为这需要它将URI全写出 –
RobV
是否存在一种告诉仓库中所有'名称空间'可用的方法?或者有没有办法告诉一个三元组与哪个命名空间相关联?请参阅[我最近的问题](http://stackoverflow.com/questions/40854135/how-to-list-all-all-namespaces-in-virtuoso) – amphibient