代码之家  ›  专栏  ›  技术社区  ›  Mark Miller

Protege看到了关系,Virtuoso没有

  •  3
  • Mark Miller  · 技术社区  · 8 年前

    查看 go-plus ontology 在一个新安装的库存Protg 5中,我在entities选项卡中找到了一个有用的推断 http://purl.obolibrary.org/obo/GO_0003215 :

    “右心室形态发生”导致“某些”心室的形态发生

    '导致形态发生' http://purl.obolibrary.org/obo/RO_0002298 “心室” http://purl.obolibrary.org/obo/UBERON_0002082

    如果我将相同的本体加载到Virtuoso开源07.20.3217中,并描述 http://purl.obolibrary.org/obo/GO_0003215 ,未列出与“心室”的关系。 (Even after enabling OWL inference.)

    然而 http://purl.obolibrary.org/obo/GO_0003215 链接到具有的匿名节点

    rdf:type           owl:Restriction 
    owl:onProperty     n3:RO_0002298 
    owl:someValuesFrom n3:UBERON_0002080 
    

    哪里 n3 http://purl.obolibrary.org/obo/

    describe 看法

    是否有一些简洁的SPARQL语法可以清楚地说明这种关系?目前,我正在使用

    select distinct ?goid (str(?goterm) as ?go_str)
    ?svf (str(?anatomy ) as ?anat_str)
    where
    {
      ?goid obo:hasOBONamespace 'biological_process'^^xsd:string .
      ?goid  rdfs:label ?goterm .
      ?goid rdfs:subClassOf+ ?parent .
      ?parent owl:someValuesFrom* ?svf .
      ?svf rdfs:subClassOf+
      <http://purl.obolibrary.org/obo/UBERON_0001062> .
      ?svf rdfs:label ?anatomy
    }
    
    2 回复  |  直到 8 年前
        1
  •  2
  •   TallTed    8 年前

    这里有很多事情要做。

    built-in reasoning 用于描述的关系类型 RDF Schema ( rdfs:subClassOf , rdfs:subPropertyOf , rdfs:subClassOf )或 OWL ( owl:equivalentProperty , owl:equivalentClass , owl:SymmetricProperty , owl:inverseOf 等),然后可以利用@MarkMiller注释中描述的推理规则pragma(注意引用 blog post about that usage pattern ).

    use SPARQL as your Inference Rules language ),那么您将需要Virtuoso 8.0(即将推出)来提供该功能。注意,这是最终的解决方案,因为您可以使用SPARQL编写自己的算法。

        2
  •  2
  •   UninformedUser    8 年前

    如何在Virtuoso中启用OWL推理?您应该知道,它不支持OWL DL推理,而只支持某种基于规则的推理,这种推理只涵盖了OWL DLL的一小部分。另一方面,Protege通过HermiT、Pellet等推理机支持OWL DL推理。

    如果您的意思是“启用OWL推断”,那么只需在 rdfs:subClassOf 关系,那么这离OWL-DL推理还很远。这只是意味着从图中的开始节点开始考虑该关系的传递闭包,没有更多或更多的魔法。