Rdf SPARQL选择两列
我是SPARQL新手,我正在尝试从实体中选择两个或多个数据属性。 我有Artist实体,它有两个数据属性(id和name)。我试图得到这样的结果:Rdf SPARQL选择两列,rdf,semantic-web,sparql,Rdf,Semantic Web,Sparql,我是SPARQL新手,我正在尝试从实体中选择两个或多个数据属性。 我有Artist实体,它有两个数据属性(id和name)。我试图得到这样的结果: id Name 0 Artist 1 1 Artist 2 但我得到的是: id Name 0 Artist 1 0 Artist 2 1 Artist 1 1 Artist 2 以下是我的SPARQL查
id Name
0 Artist 1
1 Artist 2
但我得到的是:
id Name
0 Artist 1
0 Artist 2
1 Artist 1
1 Artist 2
以下是我的SPARQL查询:
PREFIX wits: <http://wits.org/song/>
SELECT ?name, ?id
FROM <http://wits.org/song>
WHERE
{
<http://wits.org/song/Artist> wits:Name ?name .
<http://wits.org/song/Artist> wits:ID ?id
}
前缀wits:
选择名称、标识
从…起
哪里
{
名字?名字。
智者:身份证?身份证
}
下面是Artist类的RDF实现:
<!ENTITY www "http://www.wits.org/" >
<owl:Class rdf:about="&www;Artist">
<rdfs:subClassOf rdf:resource="&owl;Thing"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&www;song#ID"/>
<owl:allValuesFrom rdf:resource="&xsd;unsignedInt"/>
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="&www;song#Name"/>
<owl:qualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:qualifiedCardinality>
<owl:onDataRange rdf:resource="&xsd;string"/>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
1.
这是以前执行的INSERT命令:
PREFIX wits: <http://wits.org/song/>
INSERT DATA INTO <http://wits.org/song> {
wits:Artist wits:Name "Artist 2"
wits:ID 1 .
}
前缀wits:
将数据插入到{
才智:艺术家才智:名称“艺术家2”
智者:身份证1。
}
我做错了什么
感谢您的帮助。
125125我猜您正在插入以下数据
INSERT DATA INTO <http://wits.org/song> {
wits:Artist wits:Name "Artist 0"; wits:ID 0 .
wits:Artist wits:Name "Artist 1"; wits:ID 1 .
}
a
相当于rdf:type
。在这里,我们说的是wits:Artist0
是类wits:Artist
的一种,名为Artist0
,id为0
,我想您是在插入以下数据
INSERT DATA INTO <http://wits.org/song> {
wits:Artist wits:Name "Artist 0"; wits:ID 0 .
wits:Artist wits:Name "Artist 1"; wits:ID 1 .
}
a
相当于rdf:type
。在这里,我们说的是wits:Artist0
是类wits:Artist
的类型,其名称Artist0
,id0
,在复制时复制