我有兴趣查找糖尿病(或其他枚举疾病)变种的诊断代码,公然排除一些与糖尿病相关的综合征的疾病。
我使用君主疾病本体论 (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;"
答案 0 :(得分:0)
通常,这是基于大量评论:
下面的属性路径查询从我的存储库中检索了4000多种综合症。我还没有在OntoBee上运行它。
关注点:
(rdf:first|rdf:rest|rdfs:subClassOf)*
,但是在我中止之前,该路径一直运行了几分钟。显然?pre rdf:first* ?ilpartf
获得了一些有用的类,但是?pre rdf:first ?ilpartf
模式仅获得了36个空白节点。rdfs:subClassOf*
查询获得相同的结果。 MonDO包含下面的OWL公理。如果已经被证明是合理的,那我就是直接被认定为综合症的疾病类别{ ?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
}
}
}