以下查询:
PREFIX qb: <http://purl.org/linked-data/cube#>
SELECT DISTINCT ?subject
WHERE
{
?x qb:component ?subject .
}通过这个可公开使用的端点进行部署:http://statistics.gov.scot/sparql-beta生成一个可用主题列表:
http://statistics.gov.scot/def/component-specification/pupil-attainment/refArea
http://statistics.gov.scot/def/component-specification/pupil-attainment/refPeriod
http://statistics.gov.scot/def/component-specification/pupil-attainment/measureType
http://statistics.gov.scot/def/component-specification/pupil-attainment/count
http://statistics.gov.scot/def/component-specification/pupil-attainment/pupils
http://statistics.gov.scot/def/component-specification/pupil-attainment/ratio问题
我想使用regex过滤可用的结果,类似于链接示例。
PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#>
SELECT ?g
WHERE
{ ?y vcard:Given ?g .
FILTER regex(?g, "r", "i") }当尝试时:
PREFIX qb: <http://purl.org/linked-data/cube#>
SELECT DISTINCT ?subject
WHERE
{
?a qb:component ?subject .
FILTER regex(?subject, "p", "i")
}查询返回没有行的表。有什么方法可以过滤得到的值吗?
发布于 2017-11-21 22:37:32
我认为您应该在str上调用?subject函数,它不是一个字符串,而是一个URI,所以首先必须将它转换为一个字符串。
这应该是可行的:
PREFIX qb: <http://purl.org/linked-data/cube#>
SELECT DISTINCT ?subject
WHERE
{
?a qb:component ?subject .
FILTER regex(str(?subject), "p", "i")
}https://stackoverflow.com/questions/47423761
复制相似问题