SPARQL-选择非uri的位置-过滤的非uri

SPARQL-选择非uri的位置-过滤的非uri,sparql,rdf,dbpedia,virtuoso,linked-data,Sparql,Rdf,Dbpedia,Virtuoso,Linked Data,我是SPARQL/链接数据的初学者。我对查询DBpedia有疑问。我了解如何选择过滤条件为URI的数据。现在,当关键因素不是资源时,我需要查询数据。这是一根绳子 我要琼·杰特用的精选仪器。 我正在使用此端点: 查询:-有错误 SELECT ?instrument WHERE { ?person a dbo:MusicalArtist . ?person dbp:instrument ?instrument . ?person dbo:alias : 'Joan_Jett'. } 另一个版本:-

我是SPARQL/链接数据的初学者。我对查询DBpedia有疑问。我了解如何选择过滤条件为URI的数据。现在,当关键因素不是资源时,我需要查询数据。这是一根绳子

我要琼·杰特用的精选仪器。 我正在使用此端点:

查询:-有错误

SELECT ?instrument WHERE
{
?person a dbo:MusicalArtist .
?person dbp:instrument ?instrument .
?person dbo:alias : 'Joan_Jett'.
}
另一个版本:-没有数据

SELECT distinct ?instrument WHERE
{
?person a dbo:MusicalArtist .
?person dbp:instrument ?instrument .
?person dbo:alias ?alias.
FILTER regex(str(?alias), "Joan_Jett") .
}
我正试着自己做这件事。然而,如果有人帮我,我会感到惊讶。

第一版

第二版


注意。dbp:instrument与dbo:instrument不同。

如果要匹配RDF文本,必须遵循它,即基本上在RDF 1.0中

词汇表

分别。如果存在语言标记

词汇的_FORM@LANGUAGE_TAG

选择distinct?仪器,其中 { ?dbo人员:音乐艺术家; dbp:仪器?仪器; dbo:别名琼Jett@en . }
所以,我很接近。非常感谢。
SELECT ?instrument WHERE
{
?person a dbo:MusicalArtist .
?person dbp:instrument ?instrument .
?person dbo:alias "Joan Jett"@en.
}
SELECT distinct ?instrument WHERE
{
?person a dbo:MusicalArtist .
?person dbo:instrument ?instrument .
?person dbo:alias ?alias.
FILTER regex(str(?alias), "Joan Jett") .
}