I have triples that say patient P
participates in health care encounter E
which has output M
, a drug prescription. Prescriptions can mention
a drug from the Drug Ontology, or DrOn.
In this case, let's say that M1
mentions the cholesterol-lowering medication atorvastatin, which was imported into DrOn from ChEBI as http://purl.obolibrary.org/obo/CHEBI_39548:
prefix obo: <http://purl.obolibrary.org/obo/>
:M1 obo:IAO_0000142 obo:CHEBI_39548 .
ChEBI has an axiom that obo:CHEBI_39548 has the role http://purl.obolibrary.org/obo/CHEBI_35821, "anticholesteremic drug". That makes it easy to find patients who have been prescribed atorvastatin, or other drugs with the same role.
Unfortunately, DrOn created its own terms for some drugs instead of importing them from ChEBI. For example, another cholesterol-lowering drug, rosuvastatin, is modeled as http://purl.obolibrary.org/obo/DRON_00018679 instead of http://purl.obolibrary.org/obo/CHEBI_38545. ChEBI's term for rosuvastatin is also annotated with the role obo:CHEBI_39548, but obo:DRON_00018679 is not. So patients in my dataset who were prescribed rosuvastatin do not show up in my existing role-based query.
I have these data in a GraphDB RDFS-plus repository, and I'd prefer not to change the reasoning level right now. If it was an OWL repository, I would just say
obo:CHEBI_38545 owl:equivalentClass obo:DRON_00018679
Is there something similar I can do with RDFS, or a GraphDB custom ruleset?
First
You obviously can replace
owl:equivalentClass
with two reciprocalrdfs:subClassOf
. As for the very equivalence of these formulations, I suppose this is relevant:OWL 2 Direct Semantics, Table 4;
OWL 2 RDF-Based Semantics, Table 5.8 and Table 5.9.
Second
owl:equivalentClass
is already within RDFS-Plus.From chapter 7 of the 1st edition of Semantic Web for the Working Ontologist, where RDFS-Plus was first introduced:
In GraphDB, the RDFS-Plus and RDFS-Plus (Optimized) rulesets support
owl:equivalentClass
. There are the following rule in thebuiltin_rdfsPlus-optimized.pie
file:and the following axioms:
In higher profiles, two rules are used instead: