SPARQL选择RDF:ID
我正在尝试使用sparql(inside Protege)选择对象的rdf:ID,但我似乎无法获得rdf:ID。有人看到过这个问题吗。我使用的SPARQL查询是:SPARQL选择RDF:ID,rdf,sparql,Rdf,Sparql,我正在尝试使用sparql(inside Protege)选择对象的rdf:ID,但我似乎无法获得rdf:ID。有人看到过这个问题吗。我使用的SPARQL查询是: 选择*其中(?元素rdf:id?id) 以下内容也不起作用: 选择*where(?元素rdfs:label?id) 接受了一个建议,但这仍然是不可行的: 选择*where(?元素rdfs:about?id) 但这确实: 选择*where(?元素rdfs:comment?id) 我得到的只是“没有火柴”。所以我可以选择评论,但不能选择标
选择*其中(?元素rdf:id?id)
以下内容也不起作用:
选择*where(?元素rdfs:label?id)
接受了一个建议,但这仍然是不可行的:
选择*where(?元素rdfs:about?id)
但这确实:
选择*where(?元素rdfs:comment?id)
我得到的只是“没有火柴”。所以我可以选择评论,但不能选择标签…想法
更新::在进一步研究后,选择以下选项:
选择主题?属性?对象,其中(?主题?属性?对象)
没有提供任何RDFS属性。我错过了什么重要的东西吗?(我可以用rdfs:comment来搜索,但也没有显示出来…我想您的rdf:ID(rdf文档中的本地引用)将使用xml:base解析,并转换为rdf:about首先,rdf:ID在数据模型中不存在-rdf图三元组。“
rdf:ID
”是在一种语法RDF/XML中使用的语法术语,但不以三元组形式出现。类似地,RDF:about
是一种语法术语
至于为什么protege的sparql在这里不起作用——我还没有使用protege——我想您试图找到的三元组是由推理机推断出来的,因此不一定在基本rdf图中
您想做什么还不完全清楚。您想要[某个三元组]的URI对象?如何识别该三元组?如果您要查找所有RDF主题的URI,您可以运行:
选择主语,其中{主语?谓语?宾语}
请注意,您需要大括号,而不是圆括号。还请注意,在RDF中大小写很重要,因此要非常小心URI(以及前缀/本地名称)的拼写和大小写
达乔布关于蕴涵的观点(推断的三元组),
rdfs:label
是一个OWL注释属性,除非您包含自己的规则和/或OWL构造,否则推理程序将忽略它。换句话说,如果您刚开始使用RDF,如果推理程序使用rdfs:label
作为谓词推断三元组,我会感到惊讶。下面的查询获取了RDF:ID
适用于pref:class
select * where {
?id rdf:type pref:class
}
您的查询将返回匹配的任何个体的完整URI,每个个体绑定到一个名为“id”的变量。这与rdf:id不同(有关详细信息,请参阅)。