题
我想选择的rdf:ID的对象的与SPARQL(内侧的Protege)和I似乎无法得到的rdf:ID。有没有人看到这个问题。 SPARQL查询我使用的是:
Select * where (?element rdf:id ?id)
下面的方式也不起作用:
Select * where (?element rdfs:label ?id)
注意到一个建议,但仍然这是没有去:
Select * where (?element rdfs:about ?id)
但这:
Select * where (?element rdfs:comment ?id)
我得到的是“不匹配”。因此,我可以选择发表评论,但不thelabel ...想法?
UPDATE ::一些进一步的研究之后,选择下列:
Select ?subject ?property ?object where (?subject ?property ?object)
不拿出任何RDFS属性。我缺少的东西大? (我可以用RDFS slect它:发表评论,但不显示任何...
解决方案
如果你正在寻找所有RDF主语的URI,你可以运行:
SELECT ?subject WHERE { ?subject ?predicate ?object }
请注意,你需要花括号,而不是括号。还要注意在RDF这种情况下的问题,所以要非常小心你的URI(和前缀/本地名称)的拼写和大小写。
要dajobe的就蕴涵(推断三元)点,rdfs:label
是OWL的注释财产,并将于inferencers,除非你有自己的规则和/或OWL结构被忽略。换句话说,如果你是刚刚开始使用RDF,我想如果一个推理推断与三元作为rdfs:label
谓词惊讶。
其他提示
首先的rdf:ID不存在于数据模型中存在 - RDF图三元组。 “rdf:ID
”是一个语法,RDF / XML使用的语法词,但不会出现在三元。类似地rdf:about
是一个语法术语
至于为何门生的SPARQL不会在这里工作 - 我没有使用过门徒 - 我想像你正在努力寻找的三元组由推理引擎推断,因此不一定在基本RDF图
这不是完全清楚你正在尝试做的。你想[的一些三重] URI对象?您如何识别三重?
我想你的rdf:ID(您的RDF文件在本地参考)将使用XML来解决:基座,并转化成一个的rdf:about
下面的查询获取我rdf:ID
类型pref:class
的个体
select * where {
?id rdf:type pref:class
}