【问题标题】:OWL 2 class definition has to make non-binary mention of SelfOWL 2 类定义必须非二进制提及 Self
【发布时间】:2018-01-10 15:59:34
【问题描述】:

我想说U. Penn Biobank consenter 是一个Homo sapiens,它有一个consenter role 并参与了一个informed consent process,在informed consent process 上至少有三个详细说明

  • 它也有个人U. Penn Biobank Organization作为参与者
  • 它有一个fully signed consent form 作为指定的输出

我认为这一切都在我的掌控之中,但我正在为此苦苦挣扎:

  • consenter role在前面提到的informed consent process中实现

这是我目前在 Protégé 的 equivalent to 框中的内容:

'Homo sapiens' and 'has role' some 'consenter role' and 'participates in' some ('informed consent process' and ((has_specified_output some 'fully signed informed consent form') and 'has participant' value 'U. Penn Biobank Organization'))

我怎么能说consenter role 是在同一个informed consent process 中实现的?

基于@StanislavKralin 的cmets,我尝试在逻辑定义中添加对Self 的引用,但Protégé 对此也不满意。似乎你不能在比说关系的主语和谓语是同一个人更复杂的事情中使用Self,比如将Narcissist定义为Homo sapiens

loves Self


编辑:我认为以下内容与我所希望的很接近。它表示此人具有在informed consent process 中实现的角色。

'Homo sapiens’ and 'has role' some ( 'consenter role' and 'realized in' some ( 'informed consent process' and ( (has_specified_output some 'fully signed informed consent form') and 'has participant' value 'U. Penn Biobank Organization')))

随便地说,你可以说这个定义意味着这个人参与了这个过程,但我不认为这是不言自明的。 我写了一些 SPARQL 查询来测试它,但回想起来,我认为我一直在寻找错误的树。

我将UPBBC1 实例化为U. Penn Biobank consenter 类的实例,并在使用OWL 2 QL 推理的Ontotext GraphDB 中运行这些查询。我想我也会尝试一些其他的推理级别。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select * where { ?i a ?c . ?c rdfs:label "U. Penn Biobank Consenter" }

+-----------------------------------------------+------------------------------------------------------+
|                      ?i                       |                          ?c                          
|
+-----------------------------------------------+------------------------------------------------------+
| <http://transformunify.org/ontologies/UPBBC1> | <http://transformunify.org/ontologies/TURBO_0000502> |
+-----------------------------------------------+------------------------------------------------------+

实例被推断为Homo sapiens

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select * where { ?i a ?c . ?c rdfs:label "Homo sapiens" }

+-----------------------------------------------+-------------------------------------------------+
|                      ?i                       |                       ?c                        |
+-----------------------------------------------+-------------------------------------------------+
| <http://transformunify.org/ontologies/UPBBC1> | <http://purl.obolibrary.org/obo/NCBITaxon_9606> |
+-----------------------------------------------+-------------------------------------------------+

但不被推断参与过任何事情

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select * where { ?i <http://purl.obolibrary.org/obo/RO_0000056> ?proc }

表格中没有可用数据

【问题讨论】:

  • 嗯,我不确定,但可能你只需要像 … and 'has role' o 'realized in' o (inverse 'participates in') Self 这样的东西。在曼彻斯特语法中,o 表示属性链。
  • 谢谢。我正在考虑将链 'has role' o 'realized in' 添加为 participates in 的等效属性。你的建议听起来更安全。
  • @StanislavKralin 你确定属性链可以包含在类定义中吗? Protege似乎不喜欢它。它确实接受以下内容:'has role' some ('realized in' some (inverse 'participates in' self)) 我现在要对其进行测试。
  • 顺便说一句,似乎非简单属性不能出现在自我限制中:(.
  • @MarkMiller OWL 2 QL 推理既不考虑具有属性链的子属性公理,也不考虑 self 限制。我想你需要 OWL 2 DL 推理,据我所知只有 Stardog 支持。如果您的三重商店允许,我猜自定义规则可能会更有效。

标签: sparql rdf owl protege graphdb


【解决方案1】:

确实,GraphDB 不支持 DL,它支持 RL、QL、RDFS、RDFS-Plus 和自定义规则。

这是实现您的案例的示例 GraphDB 规则

id: Penn_Biobank_consenter
  x <rdf:type> <Homo sapiens>
  x <has role> r
  r <rdf:type> <consenter role>
  r <realized in> p
  p <rdf:type> <informed consent process>
  p <has_specified_output> o
  o <rdf:type> <fully signed informed consent form>
  p <has participant> <U. Penn Biobank Organization>
  p <has participant> x
  -----------------------
  x <rdf:type> <U. Penn Biobank consenter>

但是,我不会把它变成一个类型,我会把它变成一个道具,即结论是

  x <consented to> <U. Penn Biobank research>

我会将其推广到任何进行研究的组织,而不仅仅是U. Penn Biobank Organization

id: consented_to
  x <rdf:type> <Homo sapiens>
  x <has role> r
  r <rdf:type> <consenter role>
  r <realized in> p
  p <rdf:type> <informed consent process>
  p <has_specified_output> o
  o <rdf:type> <fully signed informed consent form>
  p <has participant> org
  p <has participant> x
  org <conducts research> res
  -----------------------
  x <consented to> res

用公理

<U. Penn Biobank Organization> <conducts research> <U. Penn Biobank research>

(假设该组织只进行一种研究;否则您必须说同意是about 一项特定研究。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2021-10-08
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    相关资源
    最近更新 更多