泛化带约束的模式?

时间:2019-02-22 19:16:44

标签: sparql owl

我有兴趣查找糖尿病(或其他枚举疾病)变种的诊断代码,公然排除一些与糖尿病相关的综合征的疾病。

我使用君主疾病本体论 (MonDO)作为我对疾病建模和在电子病历中指示疾病的代码(例如 ICD SNOMED (在某些国家/地区)。

我一直在检索具有rdfs:subClassOf*三元组的“疾病的所有变体”。 MonDO模型看起来不错,但有时似乎有点包容性,我想在公理上省略一些子类关系。

例如, H Syndrome 被断言为rdfs:subClassOf* diabetes ,但作为一种综合症,它包含许多功能除了糖尿病的本质(长时间血糖升高)之外,下面的ask展示了基于以下事实,我可以minus从有关糖尿病类型的查询中owl:Restrictions具有综合征和遗传修饰。

我如何以一般的方式寻找具有症状修饰的疾病,以为rds:subClassOf可能不是以一致的方式组成的?交叉点可能更多(或更少) ,则可以使用owl:equivalentClass代替PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX obo: <http://purl.obolibrary.org/obo/> prefix H_Synd: <http://purl.obolibrary.org/obo/MONDO_0019589> prefix hasMod: <http://purl.obolibrary.org/obo/RO_0002573> prefix syndromePres: <http://purl.obolibrary.org/obo/MONDO_0021127> prefix genetic: <http://purl.obolibrary.org/obo/MONDO_0021152> ask where { H_Synd: owl:equivalentClass ?ec . ?ec owl:intersectionOf ?i1 . ?i1 rdf:first|rdf:rest ?ilpart . ?ilpart rdf:first|rdf:rest ?ilpartf , ?ilpartr . ?ilpartf rdf:type owl:Restriction ; owl:onProperty hasMod: ; owl:someValuesFrom syndromePres: . ?ilpartr rdf:first|rdf:rest ?ilpartrpart . ?ilpartrpart rdf:type owl:Restriction ; owl:onProperty hasMod: ; owl:someValuesFrom genetic: . } ...

"red col.  yellow;   col.  black;  col.  green; orange; col. white; blue col. purple;"

1 个答案:

答案 0 :(得分:0)

通常,这是基于大量评论:

下面的属性路径查询从我的存储库中检索了4000多种综合症。我还没有在OntoBee上运行它。

关注点:

  1. 我认为我应该使用更具包容性的属性路径,例如(rdf:first|rdf:rest|rdfs:subClassOf)*,但是在我中止之前,该路径一直运行了几分钟。显然?pre rdf:first* ?ilpartf获得了一些有用的类,但是?pre rdf:first ?ilpartf模式仅获得了36个空白节点。
  2. 我可以通过简单的rdfs:subClassOf*查询获得相同的结果。 MonDO包含下面的OWL公理。如果已经被证明是合理的,那我就是直接被认定为综合症的疾病类别
  3. 数千种综合症状疾病都绑定到一对{ ?pre ?sub }上。其他35个?pre空白节点除自身以外均未绑定到任何?sub类。

综合症公理

disease or disorder and (has
      modifier some 
      has a syndromic presentation)

rdfs:subClassOf*查询:

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

属性路径查询:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
prefix H_Synd: <http://purl.obolibrary.org/obo/MONDO_0019589>
prefix hasMod: <http://purl.obolibrary.org/obo/RO_0002573>
prefix syndromePres: <http://purl.obolibrary.org/obo/MONDO_0021127>
prefix genetic: <http://purl.obolibrary.org/obo/MONDO_0021152>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select * where {
    graph obo:mondo.owl {
        # ?pre (rdf:first|rdf:rest|rdfs:subClassOf)* ?ilpartf .
        ?pre rdf:first* ?ilpartf .
        ?ilpartf rdf:type owl:Restriction ;
                 owl:onProperty hasMod: ;
                 owl:someValuesFrom syndromePres: .
        ?sub rdfs:subClassOf* ?pre .
        optional {
            ?sub  rdfs:label ?l
        }   
    }
}