如何使用SPARQL获取所有反向属性?

如何使用SPARQL获取所有反向属性?,sparql,rdf,semantic-web,dbpedia,sparqlwrapper,Sparql,Rdf,Semantic Web,Dbpedia,Sparqlwrapper,我需要一个SPARQL查询来获取所有可用的反向属性。经验(之前、之后、配偶等) 我在特定的域(人)上尝试了这个: 结果: 请注意,您并没有要求反向属性;您要求的是对称(或倒数,或反射)属性——其中每个主题/对象对也被描述为一个对象/主题对 如果你真的想要一个更接近倒数的东西,你可以试试像这样的东西-- --但是如果你从中观察,你会注意到许多“反射”关系并不是用实际上是彼此相反的属性来表达的 ex:child和ex:parent很容易被理解为相反的概念——但是

我需要一个SPARQL查询来获取所有可用的反向属性。经验(之前、之后、配偶等) 我在特定的域()上尝试了这个:

结果:


  • 请注意,您并没有要求反向属性;您要求的是对称(或倒数,或反射)属性——其中每个主题/对象对也被描述为一个对象/主题对

    如果你真的想要一个更接近倒数的东西,你可以试试像这样的东西--

    --但是如果你从中观察,你会注意到许多“反射”关系并不是用实际上是彼此相反的属性来表达的

    ex:child
    ex:parent
    很容易被理解为相反的概念——但是
    ex:sibling
    ex:brother
    ex:sister
    呢?还要注意有多少“反射”属性,例如


    也许,描述你为什么需要这些,以及你打算如何利用它们,将有助于其他人提供更相关的答案或其他信息……

    注意,你并不是在要求相反的属性;您要求的是对称(或倒数,或反射)属性——其中每个主题/对象对也被描述为一个对象/主题对

    如果你真的想要一个更接近倒数的东西,你可以试试像这样的东西--

    --但是如果你从中观察,你会注意到许多“反射”关系并不是用实际上是彼此相反的属性来表达的

    ex:child
    ex:parent
    很容易被理解为相反的概念——但是
    ex:sibling
    ex:brother
    ex:sister
    呢?还要注意有多少“反射”属性,例如


    也许,描述你为什么需要这些,以及你打算如何利用它们,将有助于其他人提供更相关的答案或其他信息……

    你对“反向”的理解是什么?您的示例仅显示了谓词,其中一些人同时是三元组的主语和宾语。这并不意味着什么,如果只有一个这样的三元组,它甚至会返回谓词。你在这里真正想要的属性特征是对称性,也就是说,
    p(s,o)->p(o,s)
    顺便说一句,你返回的结果表明它们中的大多数都是无用的,或者为什么标题应该连接两个人?对于反向属性,你显然必须计算属性对,不是吗<代码>选择不同的?谓词1?谓词2,其中{?subject a dbo:Person.?object a dbo:Person.?subject?谓词1?object.?object?predicate2?subject.filter(?predicate1!=?predicate2)}显然,这并没有提供任何真正有意义的东西,您仍然需要计算这些对的频率
    (p1,p2)在科学上,常见的指标是信心和支持,因为你的任务只不过是挖掘规则(这里是
    p1(s,o)->p2(o)(s)
    )@AKSW很抱歉来晚了,逆属性指两个谓词p1 p2它们是逆的,iff(A,p1,B)和(B,p2,A),A和B分别是主语和宾语。你把什么理解为“逆”呢?您的示例只显示了谓词,其中一些人同时是三元组的主语和宾语。这并不意味着什么,如果只有一个这样的三元组,它甚至会返回谓词。您在这里真正要求的属性特征是对称性,即
    p(s,o)->p(o,s)
    顺便说一句,您返回的结果显示它们中的大多数都是无用的,或者为什么标题应该连接两个人?对于反向属性,您显然必须计算属性对,不是吗?
    选择DISTINCT?predicate1?predicate2,在哪里{?subject a dbo:Person。?object a dbo:Person。?subject?predicate1?object。?object?predicate2?subject.filter(?predicate1!=?predicate2)}
    显然,这并没有提供任何真正有意义的东西,您仍然需要计算给定的情况下这些对
    (p1,p2)发生的频率(或
    p2
    ——在科学上,常见的度量是信心和支持,因为你的任务只不过是挖掘规则(这里
    p1(s,o)->p2(o,s)
    )@AKSW抱歉来晚了,逆属性指两个谓词p1 p2,它们是逆的,iff(A,p1,B),以及(B,p2,A),A和B分别是主语和宾语
    SELECT
    DISTINCT ?predicate
    WHERE 
    
    {
      ?subject a dbo:Person .
      ?object a dbo:Person . 
      ?subject ?predicate ?object .
      ?object ?predicate ?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