如何使用 SPARQL 获取所有逆属性?
How to get all inverse properties using SPARQL?
我需要一个 SPARQL 查询来获取所有可用的逆属性。 exp(之前,之后,配偶,...等)
我在特定域 (Person) 上试过这个:
SELECT
DISTINCT ?predicate
WHERE
{
?subject a dbo:Person .
?object a dbo:Person .
?subject ?predicate ?object .
?object ?predicate ?subject .
}
结果:
- http://www.w3.org/2000/01/rdf-schema#seeAlso
- http://www.w3.org/2002/07/owl#sameAs
- http://www.w3.org/2002/07/owl#differentFrom
- http://dbpedia.org/property/deathPlace
- http://dbpedia.org/ontology/associatedBand
- http://dbpedia.org/ontology/author
- http://dbpedia.org/ontology/associatedMusicalArtist
- http://dbpedia.org/ontology/field
- http://dbpedia.org/ontology/governor
- http://dbpedia.org/ontology/lastAppearance
- http://dbpedia.org/ontology/managerClub
- http://dbpedia.org/ontology/recordLabel
- http://dbpedia.org/ontology/relation
- http://dbpedia.org/ontology/related
- http://dbpedia.org/ontology/relative
- http://dbpedia.org/ontology/starring
- http://dbpedia.org/property/p
- http://dbpedia.org/property/title
- http://purl.org/linguistics/gold/hypernym
请注意,您不是在要求逆属性;您要求对称(或互惠或反射)属性 - 其中每个 subject/object 对也被描述为 object/subject 对。
如果你真的想要更接近逆的东西,你可以尝试像 --
SELECT DISTINCT ?predicate
?reverse_predicate
WHERE
{
?subject a dbo:Person .
?object a dbo:Person .
?subject ?predicate ?object .
?object ?reverse_predicate ?subject .
}
ORDER BY ?predicate ?reverse_predicate
-- 但如果您查看 the results from that query,您会注意到许多 "reflected" 关系并未用实际上彼此相反的属性表示。
ex:child
和 ex:parent
可能很容易理解为倒数——但是 ex:sibling
、ex:brother
、ex:sister
又如何呢?还要注意有多少 "reflected" 属性,例如 <http://dbpedia.org/ontology/child>!
可能,描述为什么你需要这些,以及你打算如何使用它们,将帮助其他人提供更多相关的答案或其他信息...
我需要一个 SPARQL 查询来获取所有可用的逆属性。 exp(之前,之后,配偶,...等) 我在特定域 (Person) 上试过这个:
SELECT
DISTINCT ?predicate
WHERE
{
?subject a dbo:Person .
?object a dbo:Person .
?subject ?predicate ?object .
?object ?predicate ?subject .
}
结果:
- http://www.w3.org/2000/01/rdf-schema#seeAlso
- http://www.w3.org/2002/07/owl#sameAs
- http://www.w3.org/2002/07/owl#differentFrom
- http://dbpedia.org/property/deathPlace
- http://dbpedia.org/ontology/associatedBand
- http://dbpedia.org/ontology/author
- http://dbpedia.org/ontology/associatedMusicalArtist
- http://dbpedia.org/ontology/field
- http://dbpedia.org/ontology/governor
- http://dbpedia.org/ontology/lastAppearance
- http://dbpedia.org/ontology/managerClub
- http://dbpedia.org/ontology/recordLabel
- http://dbpedia.org/ontology/relation
- http://dbpedia.org/ontology/related
- http://dbpedia.org/ontology/relative
- http://dbpedia.org/ontology/starring
- http://dbpedia.org/property/p
- http://dbpedia.org/property/title
- http://purl.org/linguistics/gold/hypernym
请注意,您不是在要求逆属性;您要求对称(或互惠或反射)属性 - 其中每个 subject/object 对也被描述为 object/subject 对。
如果你真的想要更接近逆的东西,你可以尝试像 --
SELECT DISTINCT ?predicate
?reverse_predicate
WHERE
{
?subject a dbo:Person .
?object a dbo:Person .
?subject ?predicate ?object .
?object ?reverse_predicate ?subject .
}
ORDER BY ?predicate ?reverse_predicate
-- 但如果您查看 the results from that query,您会注意到许多 "reflected" 关系并未用实际上彼此相反的属性表示。
ex:child
和 ex:parent
可能很容易理解为倒数——但是 ex:sibling
、ex:brother
、ex:sister
又如何呢?还要注意有多少 "reflected" 属性,例如 <http://dbpedia.org/ontology/child>!
可能,描述为什么你需要这些,以及你打算如何使用它们,将帮助其他人提供更多相关的答案或其他信息...