Sparql 什么';需要什么来做出这个推论?

Sparql 什么';需要什么来做出这个推论?,sparql,rdf,owl,Sparql,Rdf,Owl,如果我想从这些事实推断“奥巴马出生于美国”: Obama bornIn Hawaii Hawaii partOf USA 这两个事实足以作出推论吗?如果是,是否应该使用RDF或OWL来表示事实?有什么在线SPARQL工具可以让我快速测试基于事实的事实说明和推断吗?没有人知道什么是bornIn或的一部分。你应该自己找到一个合适的本体或模型。有几种方法可以做到这一点 OWL 2功能 OWL 2 DL功能足以做出您想要的推断。 你所需要的只是一张支票 下面是一个序列化为RDF Turtle格式

如果我想从这些事实推断“奥巴马出生于美国”:

 Obama bornIn Hawaii 
 Hawaii partOf USA

这两个事实足以作出推论吗?如果是,是否应该使用RDF或OWL来表示事实?有什么在线SPARQL工具可以让我快速测试基于事实的事实说明和推断吗?

没有人知道什么是
bornIn
的一部分。你应该自己找到一个合适的本体或模型。有几种方法可以做到这一点

OWL 2功能

OWL 2 DL功能足以做出您想要的推断。
你所需要的只是一张支票

下面是一个序列化为RDF Turtle格式的示例本体

@prefix : <http://www.semanticweb.org/ontologies/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://www.semanticweb.org/ontologies/ontology> rdf:type owl:Ontology .

:Obama    rdf:type owl:NamedIndividual ; :bornIn :Honolulu .
:Honolulu rdf:type owl:NamedIndividual ; :partOf :Hawaii .
:Hawaii   rdf:type owl:NamedIndividual ; :partOf :USA .
:USA      rdf:type owl:NamedIndividual .

:bornIn rdf:type owl:ObjectProperty ; owl:propertyChainAxiom ( :bornIn :partOf ) .

:partOf rdf:type owl:ObjectProperty .
SWRL在本体论层面上运行。其他或多或少通用的规则语言(例如SPIN)在RDF序列化级别上运行

Triplestore特定规则语言

在GraphDB中,您可以定义此类“规则集”:

Prefices { obama: http://www.semanticweb.org/ontologies/ontology# }

Axioms { }

Rules
{
    Id: custom
      a <obama:bornIn> b
      b <obama:partOf> c
    -----------------------
      a <obama:bornIn> c
}
我建议你试试。创建存储库时:

  • 如果要使用GraphDB的规则语言,请加载上面的规则集,或者
  • 如果要使用OWL2功能,请选择内置的OWL-RL规则集

    • 没有人知道什么是
      bornIn
      的一部分。你应该自己找到一个合适的本体或模型。有几种方法可以做到这一点

      OWL 2功能

      OWL 2 DL功能足以做出您想要的推断。
      你所需要的只是一张支票

      下面是一个序列化为RDF Turtle格式的示例本体

      @prefix : <http://www.semanticweb.org/ontologies/ontology#> .
      @prefix owl: <http://www.w3.org/2002/07/owl#> .
      @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
      
      <http://www.semanticweb.org/ontologies/ontology> rdf:type owl:Ontology .
      
      :Obama    rdf:type owl:NamedIndividual ; :bornIn :Honolulu .
      :Honolulu rdf:type owl:NamedIndividual ; :partOf :Hawaii .
      :Hawaii   rdf:type owl:NamedIndividual ; :partOf :USA .
      :USA      rdf:type owl:NamedIndividual .
      
      :bornIn rdf:type owl:ObjectProperty ; owl:propertyChainAxiom ( :bornIn :partOf ) .
      
      :partOf rdf:type owl:ObjectProperty .
      
      SWRL在本体论层面上运行。其他或多或少通用的规则语言(例如SPIN)在RDF序列化级别上运行

      Triplestore特定规则语言

      在GraphDB中,您可以定义此类“规则集”:

      Prefices { obama: http://www.semanticweb.org/ontologies/ontology# }
      
      Axioms { }
      
      Rules
      {
          Id: custom
            a <obama:bornIn> b
            b <obama:partOf> c
          -----------------------
            a <obama:bornIn> c
      }
      
      我建议你试试。创建存储库时:

      • 如果要使用GraphDB的规则语言,请加载上面的规则集,或者
      • 如果要使用OWL2功能,请选择内置的OWL-RL规则集

      的一部分
      既不是RDFS的一部分,也不是OWL语义的一部分,因此,没有-没有RDFS或OWL推理程序会做出这种推断。在线SPARQL工具?不,您可以使用自己的三元组存储,或者使用具有一些SPARQL插件的Protege本体编辑器,或者其他内存中的SPARQL引擎,如Apache Jena、RDF4J等,或者一些基于磁盘的三元组存储…@AKSW,那么如何使此推断成为可能呢?这似乎是一个非常常见或逻辑的推理。如果ISA只是一种推理。本例中演示的推理似乎更为常见。难道没有一种方法可以实现这一点吗?或者换句话说,当在本体论中讨论推理时,是ISA 唯一可以推断的关系?除了内置的推断关系之外的任何关系,例如
      rdf:type
      (您称之为“is-a”)、
      rdfs:subassof
      ,当然都必须由您自己建模。在您的案例中,可以使用规则语言,如SWRL或OWL属性链axiom。显然,您应该阅读RDFS和OWL的语义,以了解推理是如何工作的。对于RDFS,有一组推理规则,对于OWL,您必须理解底层描述逻辑SROIQ的基于集合的语义。
      partOf
      既不是RDFS的一部分,也不是OWL语义的一部分,因此,没有-没有RDFS或OWL推理器会进行此推理。在线SPARQL工具?不,您可以使用自己的三元组存储,或者使用具有一些SPARQL插件的Protege本体编辑器,或者其他内存中的SPARQL引擎,如Apache Jena、RDF4J等,或者一些基于磁盘的三元组存储…@AKSW,那么如何使此推断成为可能呢?这似乎是一种非常常见或合乎逻辑的推理。如果ISA只是一种推理。本例中演示的推理似乎更为常见。难道没有一种方法可以实现这一点吗?或者换句话说,当在本体论中讨论推理时,是ISA 唯一可以推断的关系?除了内置的推断关系之外的任何关系,例如
      rdf:type
      (您称之为“is-a”)、
      rdfs:subassof
      ,当然都必须由您自己建模。在您的案例中,可以使用规则语言,如SWRL或OWL属性链axiom。显然,您应该阅读RDFS和OWL的语义,以了解推理是如何工作的。对于RDFS,有一组推理规则,对于OWL,您必须理解底层描述逻辑SROIQ的基于集合的语义。这是一个很好的示例,非常清楚!另外,与StarDog相比,GraphDB有什么好处,如果我必须在两者之间做出选择的话?我对StarDog不太熟悉。如果你需要猫头鹰2的全面支持,那么星狗应该是你的选择。然而,在Windows上运行它并不容易,而且也没有免费的云版本(AFAIK)。测试两者。顺便说一句,你似乎不需要
      :部分的及物性,我明天会编辑答案。这是一个很好的例子,非常清楚!另外,与StarDog相比,GraphDB有什么好处,如果我必须在两者之间做出选择的话?我对StarDog不太熟悉。如果你需要猫头鹰2的全面支持,那么星狗应该是你的选择。然而,在Windows上运行它并不容易,而且也没有免费的云版本(AFAIK)。测试两者。顺便说一句,你似乎不需要
      :部分的及物性,我明天会编辑答案。