SPARQL查询未提供期望的结果

问题描述 投票:0回答:1

我使用以下代码列出了朋克摇滚乐队的乐队成员:

PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema>

SELECT distinct ?bandname ?bandmembername where {
?band
   foaf:name ?bandname;
   dbo:genre dbr:Punk_Rock.
?bandmember
   dbo:bandMember ?bandmember;
   rdfs:label ?bandmembername.
}

我需要任何Punk_Rock乐队的乐队成员。

sparql
1个回答
0
投票

没有语法错误。

您的查询中有2个错误。

  1. PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema>应该为PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

  2. dbo:bandMember ?bandmember谓词和对象应该描述?band(有成员),而不是描述?bandmemberis成员)

使用这些修复程序in the query,您应该看到希望的the results-

PREFIX  dbo: <http://dbpedia.org/ontology/>
PREFIX  dbr: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?bandname ?bandmembername 
WHERE
{
  ?band
      foaf:name      ?bandname ;
      dbo:bandMember ?bandmember ;
      dbo:genre      dbr:Punk_Rock .
  ?bandmember 
      rdfs:label     ?bandmembername .
}
© www.soinside.com 2019 - 2024. All rights reserved.