【问题标题】:Protege sees relationship, Virtuoso doesn'tProtege 看到关系,Virtuoso 没有
【发布时间】:2016-08-05 13:12:40
【问题描述】:

查看新安装的库存 Protégé 5 中的go-plus ontology,我在实体选项卡中发现http://purl.obolibrary.org/obo/GO_0003215 的有用推断:

'心脏右心室形态发生''导致'一些'心室'的形态发生

'导致'形态发生'在这种情况下是http://purl.obolibrary.org/obo/RO_0002298'心室'http://purl.obolibrary.org/obo/UBERON_0002082

如果我将相同的本体加载到 Virtuoso Open Source 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 

n3http://purl.obolibrary.org/obo/

是否有 Virtuoso 配置可以在 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
}

【问题讨论】:

标签: sparql rdf owl protege virtuoso


【解决方案1】:

这里有很多东西在起作用。

您可以将属性路径用于传递性,如@ASKW 的评论中所述。

如果您想将 Virtuoso 的 built-in reasoning 用于RDF Schemardfs:subClassOfrdfs:subPropertyOfrdfs:subClassOf)或OWLowl:equivalentPropertyowl:equivalentClassowl:SymmetricProperty)所描述的关系类型, owl:inverseOf 等),那么您可以利用 @MarkMiller 的 cmets 中描述的推理规则编译指示(注意对 blog post about that usage pattern 的引用)。

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

【讨论】:

  • Virtuoso 8 什么时候发布?这是我第一次读到它。
【解决方案2】:

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

如果您的意思是“启用 OWL 推理”仅在 rdfs:subClassOf 关系上使用 SPARQL 1.1 属性路径,那么这与 OWL DL 推理相去甚远。它只是意味着从图中的起始节点考虑该关系的传递闭包,仅此而已,也没有更多的魔法。

【讨论】:

  • Virtuoso 有一个可以在 SPARQL 查询之前的“DEFINE input:inference”编译指示。遵循教程 (kidehen.blogspot.com/2014/01/…) 后,“Harry 兄弟姐妹”的关系扩展为“Harry 知道 William”,所以我认为它正在做一些超出 SAPRQL 1.1 属性路径的事情。但我对这种逻辑知之甚少。我确实尝试将一些 input:inference pragmas 应用于我的心室问题。
  • 好的,但这需要一组复杂的规则来获取您示例的推断事实。请注意,对于完整的 OWL DL,据我所知,没有基于规则的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 1970-01-01
  • 2010-10-29
  • 2013-07-08
  • 2013-11-19
相关资源
最近更新 更多