1

我有一个名为原谅的标签,我想使用 SPARQL 查询语言获取此标签的类、子类、超类、属性和实例。请问我该如何构建这些查询?非常感谢您的回复。

4

1 回答 1

3

如评论中所述,问题的要点是查找数据集中所有出现的文字。

在 RDF 三元组(主体、属性、对象)中,文字只能作为对象出现。在这种情况下,我们不关心主题和属性是什么。一切都被接受。

下面的查询就是这样做的(注意我们只想要'forgiveness'一个英文单词):

SELECT * WHERE{
 ?subject ?property "forgiveness"@en .
}

针对DBpedia sparql 端点运行它会产生一些结果。你可以试试。我必须说这是 DBpedia 上非常罕见的文字。

另一种方法是使用过滤器而不是普通文字。'forgiveness'无论大小写如何,以下查询都会找到。

SELECT * WHERE{
 ?subject ?property ?literal .
 FILTER regex(?literal, "forgiveness", "i")
}

for的第二个参数regex是要匹配的模式。您可以实现的不仅仅是不区分大小写。有关更多信息,请查看XQuery 正则表达式语言

于 2012-08-07T06:42:15.240 回答