Ontology mapping

1 view
Skip to first unread message

andrew....@bbmsc.com

unread,
Jul 2, 2016, 8:14:18 AM7/2/16
to Stardog
Hello,
Our project has progressed to the point where we are reliably storing both TBox and ABox triples, and in a named graph as well as background.  At this stage we are using reasoning successfully too, albeit for the simplest use case of performing queries using class hierarchies.

We now wish to map across publicly available ontologies.  That is, we wish to map our proprietary classes to public domain classes. For those on the list familiar with medical applications, a few of the desired mappings would be to SNOMED-CT and FHIR, for examples, but in general to a heterogeneous set where definitions may be in common but structured and named differently.  By way of illustration, an example of mapping two public ontologies similar to our desired use case:

MedDRA

meddra:10027599 rdf:type meddra:MedDRAConcept.

meddra:10027599 rdfs:label “Migraine”.

SNOMED CT

snomed:37796009 rdf:type snomed:SNOMEDConcept.

snomed:37796009 rdfs:label “Migraine (Disorder)”.


To perform the mapping, we would assert the following triple in the database:
           meddra:10027599 owl:sameAs snomed:37796009.

Whereas I could put them all in the same graph, I have been of the belief that maintaining them would be easier and less "jumbled" to use separate named graphs for each ontology.  A less superficial reason would be to avoid the overhead of inference being across all ontologies every time; in general, a given query or operation would only need to map from our proprietary to one of, rather than all of, the public ones.  The application would in general need multiple, but "one query at a time", and my understanding is that Stardog allows queries to be scoped to specific graphs rather than always being all graphs.  It does depend on a given query allowing multiple explicitly identified graphs in its scope (such that graphs not so named would not participate in the given query).

Am I on the right track? 

Thank you,
Andy

qiulinwork

unread,
Jul 5, 2016, 6:58:39 AM7/5/16
to sta...@clarkparsia.com
Hello Andy,

To start with, I’m a beginner and I’m not familiar with Stardog’s reasoner. But I do like to share my thoughts on this with you.

There are more than one way to manage 2 t-boxes and to do inference against one graph, depends on what you want to put in your reasoner.

SKOS [https://www.w3.org/2004/02/skos/] is an upper ontology to manage ‘concepts’ , apart from ‘sameAs’ , it also has ‘broader’ ‘narrower’ predicates to build up a concept hierarchy.

Depends on what kind of inference you play, ‘rdfs:subPropertyOf’ ’subClassOf' would be a great option, too. 

meddra:10027599 rdfs:subPropertyOf joint:XXX 

snomed:37796009 rdfs:subPropertyOf joint:XXX

will map the 2 properties to joint:XXX, this trick works with 80% in my case. To go further you can map the 2 t-boxes to a joint one.

I’m always looking for ‘best practice’ to semantic web solution, would likt to see more discussion.

Regards,
Qiulin



--
-- --
You received this message because you are subscribed to the C&P "Stardog" group.
To post to this group, send email to sta...@clarkparsia.com
To unsubscribe from this group, send email to
stardog+u...@clarkparsia.com
For more options, visit this group at
http://groups.google.com/a/clarkparsia.com/group/stardog?hl=en
---
You received this message because you are subscribed to the Google Groups "Stardog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stardog+u...@clarkparsia.com.

Reply all
Reply to author
Forward
0 new messages