Rdf 使用SPARQL获取标签的类、子类、超类、属性和实例

Rdf 使用SPARQL获取标签的类、子类、超类、属性和实例,rdf,sparql,Rdf,Sparql,我有一个名为宽恕的标签,我想使用SPARQL查询语言获取这个标签的类、子类、超类、属性和实例。请问如何构造这些查询?非常感谢您的回答。如评论中所述,问题的要点是在数据集中查找所有出现的文字 在RDF三元组(sujbect、property、object)中,文本只能作为对象出现。在这种情况下,我们不关心主体和财产是什么。一切都可以接受 下面的查询就是这样做的(请注意,我们只想将作为一个英语单词“宽恕”): 将其与数据库运行会产生一些结果。你可以试试。我必须说,这在DBpedia上是一个非常罕见的

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

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

在RDF三元组(sujbect、property、object)中,文本只能作为对象出现。在这种情况下,我们不关心主体和财产是什么。一切都可以接受

下面的查询就是这样做的(请注意,我们只想将
作为一个英语单词“宽恕”
):

将其与数据库运行会产生一些结果。你可以试试。我必须说,这在DBpedia上是一个非常罕见的文字

另一种方法是使用过滤器而不是纯文本。以下查询将查找
“宽恕”
,而不考虑大小写

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

regex
的第二个参数是要匹配的模式。您可以实现比不区分大小写多得多的功能。有关更多信息,请查看

您所说的“标签”是什么意思?“标签”一词不是RDF概念的一部分。感谢您的回复。此上下文中的标签表示关键字或字符串。因此,我有一个名为宽恕的关键字,我想使用SPARQL查询语言获取这个标签的类、子类、超类、属性和实例。我希望现在天气晴朗。谢谢。你说的“标签”更清楚,但我不明白标签的子类是什么,标签的实例是什么,等等。我想先获取这个标签/关键字的类,然后再获取其他参数,比如子类,超类等。这就是我的意思。如果没有一些示例数据,我认为任何人都无法回答这个问题-这真的没有意义。谢谢Tom的输入。对于我来说,有可能得到像类、子类、超类、属性和这个文本的实例这样的东西吗?因为我想在几个数据集的sparql端点上运行这个查询,看看哪个数据集拥有关于这个文本的最多资源。普通RDF中的文本没有类或属性。上面的查询返回实例。我认为您只能在中创建的数据集中找到类似的信息。它是RDF的一个扩展,能够自我描述。恐怕我不能提出正确的问题,因为我根本不理解你的意图。阅读相关文章可以帮助你澄清问题。问题是,文字本身并不能传达其含义的信息。你必须找到指向它的属性。这是一个简短的例子。可以修改我的查询,以考虑相关财产的特定限制。这样,您就可以提取文本出现的上下文信息。这就是你的意思吗?汤姆,我自己也很困惑。我做了如下操作:选择uri标签,其中{uri rdfs:label?label.filter(?label=“Wave”@en)}这个查询给了我一个uri。我在想,通过URI,我可以继续查找属性子类、超类等。@user1577932
rdfs:label
作为对象URL的一种人类可读的替代方法。为了找到关于所找到的“波”的此类信息,必须使用
?uri
。标签本身就是一条死胡同。下面的查询提取有关将
“Wave”@en
作为标签的对象的所有信息:
选择?.uri?label?otherproperty?otherobject,其中{uri rdfs:label?label。?uri?otherproperty?otherobject.filter(?label=“Wave”@en)}
。您还可以切换
?uri
?otherobject
,以获取将标记的资源作为属性的资源列表
SELECT * WHERE{
 ?subject ?property ?literal .
 FILTER regex(?literal, "forgiveness", "i")
}