我有三元组说患者 P
参加医疗保健遭遇 E
,其中有药物处方 M
. 处方药可以是药物本体论的药物,也可以是DrOn .
在这种情况下,让我们说 M1
提到降低胆固醇的药物阿托伐他汀,它是从ChEBI进口到DrOn的http://purl.obolibrary.org/obo/CHEBI_39548:
prefix obo: <http://purl.obolibrary.org/obo/> :M1 obo:IAO_0000142 obo:CHEBI_39548 .
ChEBI有一个公理:obo:CHEBI_39548的作用是http://purl.obolibrary.org/obo/CHEBI_35821,"anticholesteremic drug" . 这使得很容易找到服用阿托伐他汀的患者,或其他具有相同作用的药物 .
不幸的是,DrOn为某些药物创建了自己的术语,而不是从ChEBI中导入它们 . 例如,另一种降胆固醇药物罗苏伐他汀被建模为http://purl.obolibrary.org/obo/DRON_00018679而不是http://purl.obolibrary.org/obo/CHEBI_38545 . ChEBI对瑞舒伐他汀的术语也用obo:CHEBI_39548作用注释,但obo:DRON_00018679不是 . 因此,我的数据集中使用罗苏伐他汀的患者不会出现在我现有的基于角色的查询中 .
我在GraphDB RDFS-plus存储库中有这些数据,我不想立即更改推理级别 . 如果它是一个OWL存储库,我只想说
obo:CHEBI_38545 owl:equivalentClass obo:DRON_00018679
Is there something similar I can do with RDFS, or a GraphDB custom ruleset?
2 回答
First
你显然可以用两个倒数
rdfs:subClassOf
替换owl:equivalentClass
. 至于这些配方的等价性,我认为这是相关的:OWL 2直接语义学,Table 4;
OWL 2基于RDF的语义,Table 5.8和Table 5.9 .
Second
owl:equivalentClass
已经在RDFS-Plus中 .从工作本体论者的第一版语义Web第7章开始,首先介绍了RDFS-Plus:
在GraphDB中,RDFS-Plus和RDFS-Plus(优化)规则集支持
owl:equivalentClass
.builtin_rdfsPlus-optimized.pie
文件中有以下规则:以及公理:
在较高的配置文件中,使用两个规则:
当我在RDFS GraphDB回购中使用@StanislavKralin的互惠
rdfs:subClassOf
appraoch时......插入一些关于类
:x
和:y
的三元组,实例:z
类:x
断言
:x
和:y
是彼此的子类PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix : <http://localhost/> insert data { :x a owl:Class . :y a owl:Class . :z a :x . :x rdfs:subClassOf :y . :y rdfs:subClassOf :x . }
然后查询关于
:x
,:y
和:z
的所有三元组select * where { ?s ?p ?o . filter(regex(str(?s), "localhost")) } order by ?s ?p ?o
我免费获得
owl:equivalentClass
!+----+---------------------+-----------+ | s | p | o | +----+---------------------+-----------+ | :x | rdf:type | owl:Class | | :x | rdfs:subClassOf | :x | | :x | rdfs:subClassOf | :y | | :x | owl:equivalentClass | :x | | :x | owl:equivalentClass | :y | | :y | rdf:type | owl:Class | | :y | rdfs:subClassOf | :x | | :y | rdfs:subClassOf | :y | | :y | owl:equivalentClass | :x | | :y | owl:equivalentClass | :y | | :z | rdf:type | :x | | :z | rdf:type | :y | +----+---------------------+-----------+