我正在尝试从特定名称空间确定数据库中使用的唯一属性集。例如,如果我想查看我们从都柏林核心集中使用的所有属性,请尝试:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT DISTINCT
?pred
WHERE
{
?sub ?pred ?obj .
FILTER regex(?pred, "purl.org/dc/elements")
}
limit 1000
我正在查看所有三元组,通过正则表达式使用DC名称空间过滤仅三元组,然后返回不同谓词的列表。运行该查询时该查询超时,因此我不确定这是由于检查了卷还是查询本身是否有故障。 我真正想要的是以DC名称空间开头的谓词列表。
答案 0 :(得分:2)
FILTER( STRSTARTS(str(?pred), str(dc:)) )
这有两件事:
str
(和STRSTARTS
)对字符串起作用,所以用REGEX
将URI转换为字符串。dc:
作为谓词URL的简写。解析器会将其扩展为完整的http://purl.org/dc/elements/1.1/