我正在尝试从一个特定的名称空间中确定在我们的数据库中使用的唯一属性集。例如,如果我想查看我们在Dublin Core集中使用的所有属性,我会尝试:
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名称空间开头的谓词列表。
发布于 2020-04-02 22:03:12
FILTER( STRSTARTS(str(?pred), str(dc:)) )这会做两件事:
str将URL转换为字符串,因为STRSTARTS (和REGEX)处理字符串。dc:作为谓词的网址的缩写。解析器会将其扩展为完整的http://purl.org/dc/elements/1.1/https://stackoverflow.com/questions/60979978
复制相似问题