SPARQL - Select 其中非 uri - 过滤非 uri
SPARQL - Select where non uri - Filtred non uri
我是 SPARQL / 关联数据的初学者。我对查询 DBpedia 有疑问。我了解如何 select 过滤条件为 URI 的数据。现在,当关键因素不是资源时,我需要查询数据。是字符串。
我想要select Joan Jett 用过的乐器。
我正在使用这个端点:http://dbpedia.org/snorq
查询: - 有错误
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") .
}
我正在尝试自己做。但是,如果有人帮助我,我会很奇怪。
第一个版本
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") .
}
注意。 dbp:instrument
与 dbo:instrument
不同。
如果你想匹配一个 RDF 文字,你必须遵循它 definition,即基本上(在 RDF 1.0 中)
"LEXICAL_FORM"^^<DATATYPE_URI>
分别。如果存在语言标签
"LEXICAL_FORM"@LANGUAGE_TAG
SELECT distinct ?instrument WHERE
{
?person a dbo:MusicalArtist ;
dbp:instrument ?instrument ;
dbo:alias "Joan Jett"@en .
}
我是 SPARQL / 关联数据的初学者。我对查询 DBpedia 有疑问。我了解如何 select 过滤条件为 URI 的数据。现在,当关键因素不是资源时,我需要查询数据。是字符串。
我想要select Joan Jett 用过的乐器。 我正在使用这个端点:http://dbpedia.org/snorq
查询: - 有错误
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") .
}
我正在尝试自己做。但是,如果有人帮助我,我会很奇怪。
第一个版本
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") .
}
注意。 dbp:instrument
与 dbo:instrument
不同。
如果你想匹配一个 RDF 文字,你必须遵循它 definition,即基本上(在 RDF 1.0 中)
"LEXICAL_FORM"^^<DATATYPE_URI>
分别。如果存在语言标签
"LEXICAL_FORM"@LANGUAGE_TAG
SELECT distinct ?instrument WHERE
{
?person a dbo:MusicalArtist ;
dbp:instrument ?instrument ;
dbo:alias "Joan Jett"@en .
}