Representing the UMLS Semantic Network using OWL Vipul Kashyap1 and Alex Borgida2 1 LHCNBC, National Library of Medicine, 8600 Rockville Pike, Bethesda, MD 20894 2 Department of Computer Science, Rutgers University, New Brunswick, NJ 08903 Seminar Prinzipien des Ontological Engineering Leipzig, 15.01.2004 Kristin Lippoldt Email: kristin.lippoldt@imise.uni-leipzig.de
Outline The UMLS Semantic Network (SN) Representation of SN using OWL Multiple interpretations of „link“ Evaluation of the interpretation variants Methodology for choosing the „right“ representation variant (first steps)
The UMLS Semantic Network nodes = semantic types links = semantic relationships two high level is-a hierarchies Entity, Event is-a hierarchie of relationships physically_related_to, spatially_related_to, temporally_related_to, functionally_related_to, conceptually_related_to functionally_related_to affects is-a manages is-a
The UMLS Semantic Network (excerpt)
OWL Web Ontology Language Based on DAML+OIL Description of classes, properties (e.g. relations between classes (e.g. disjointness), cardinality (e.g. "exactly one")) Sublanguages: OWL Lite (lower formal complexity than OWL DL, only cardinality values of 0 or 1) OWL DL (maximum expressiveness, computational completeness ) OWL Full (maximum expressiveness, syntactic freedom of RDF with no computational guarantees) SN semantic type = DL primitive concept = OWL class SN relationship = DL primitive role = OWL object property
Description Logic - OWL Bacterium ODER Virus <owl:Class> <owl:unionOf rdf:parseType=“Collection”> <owl:Class rdf:about=“#Bacterium”/> <owl:Class rdf:about=“#Virus”/> </owl:unionOf> </owl:Class> SN semantic type = DL primitive concept = OWL class SN relationship = DL primitive role = OWL object property
Representation of SN using OWL Semantic Types OWL classes Fungus Organism Virus Organism Semantic Relationships OWL properties part_of physically_related_to affects functionally_related_to Properties of Semantic Network Relationships Asymmetric relationships has_part ≡ part_of Symmetric relationships adjacent_to ≡ adjacent_to - Pilz ist Unterklasse von Organismus mit OWL properties kann die Relationshierarchie umgesetzt werden adjacent = angrenzend
Semantics of a „link“ in the UMLS SN Bacteria causes Infection Two operators and : (causes) = { x Bacteria (y)(y Infection causes(x,y)) } DL notation: (causes) ≡ causes.T (causes) = { y Infection (x)(x Bacteria causes(x,y)) } DL notation: (causes) ≡ causes.T (causes) ≡ causes.T alle verursachenden Top-Konzepte (linke Seite) (causes) ≡ causes.T alle verursachten Top-Konzepte (rechte Seite)
Interpretation 1: / equals axioms: causes.T ≡ Bacteria, causes.T ≡ Infection All Bacteria have to “cause” and all Infections have to “be-caused” (no others can participate in “causes”) b1 i1 b2 i2 b3 i3 b4
Interpretation 2: / subsumed axioms: causes.T Bacteria, causes.T Infection Not all bacteria need to “cause” not all infections have to “be-caused” (However no others can participate) i1 b2 i2 die Entitäten, die verursachen ist eine Subklasse der Klasse der Bacteria die Entitäten, die verursacht werden ist eine Subklasse der Klasse der Infection b3 i3 b4
Interpretation 3: / subsumes axioms: Bacteria causes.T, Infection causes.T All bacterias have to “cause” and all infections have to “be-caused”, but A bacteria can cause a “non-infection” as well! A “non-bacteria” can cause an infection as well! y1 i1 Bacteria ist eine Subklasse der Entitäten, die verursachen Infection ist eine Subklasse der Entitäten, die verursacht werden b2 i2 b3 i3 b4 x1
Interpretation 4: All/Some axiom: Bacteria causes.Infection All bacteria must “cause” some infection, but A bacteria can cause a “non-infection” as well! A “non-bacteria” can cause an infection as well! y1 i1 Bacteria ist eine Subklasse der Entitäten, die verursachen Infection ist eine Subklasse der Entitäten, die verursacht werden b2 i2 b3 i3 b4 x1
Interpretation 5: All/Only axiom: Bacteria causes.Infection All bacteria, if they “cause”, can cause only infections, but Not all bacteria have to participate in the “causes” relationship A non-bacteria can still cause an infection! y1 i1 A non-bacteria can still cause a non-infection! b2 i2 b3 i3 b4
Interpretation 6: All/Each axiom: Bacteria causes.Infection Similar to a cross product, but A bacteria can still cause a non-infection! i1 Bacteria Infection.causes jedes Bakterium verursacht alle Instanzen der Klasse Infektion b2 i2 b3 i3 b4 x1
Interpretation 7: Some/Some axiom: 1 (Bacteria causes.Infection) There is at least one bacteria that “causes” at least one infection, but A bacteria can still cause a non-infection! A non-bacteria can still cause an infection! y1 i1 Durchschnitt b2 i2 b3 i3 b4 x1
Interpretation 8: Some/Each axiom: 1 (Bacteria causes.Infection) There is at least one bacteria that “causes” all infections, but A bacteria can still cause a non-infection! A non-bacteria can still cause an infection! y1 i1 Schnittmenge zwischen Bacteria und allen Dingen, die Infektionen verursachen b2 i2 b3 i3 b4 x1
Summary of Interpretations equals: causes.T ≡ Bacteria, causes.T ≡ Infection subsumed: causes.T Bacteria, causes.T Infection subsumes: Bacteria causes.T, Infection causes.T all/some: Bacteria causes.Infection all/only: Bacteria causes.Infection all/each: Bacteria causes.Infection some/some: 1 (Bacteria causes.Infection) some/all: 1 (Bacteria causes.Infection)
and Inheritance inheritance P(A,B) C A P(C,B) inheritance P(A,B) D B P(A,D) Example: process_of(BiologicFunction,Organism) C = PhysiologicFunction D = Animal equals: no support of inheritance , A ≡ C subsumed: no support of inheritance alle verursachenden Entitäten sind äquivalent zu A und ebenfalls zu C, also muss A äquivalent zu C sein C ist subconcept von A, alle verursachenden Entitäten sind subconcept von A, daraus folgt aber nicht, dass alle verursachenden Entitäten ebenfalls subconcept von C sind A C process_of.T
and Inheritance process_of.B subsumes: supports both process_of.T process_of-.T subsumes: supports both all/some: supports inheritance, but not inheritance all/only: supports inheritance, but not inheritance A B C D process_of.B process_of-.D A B 4) C = Staphylokokken, aber D = Streptokokkeninfektion 5 ist genauso wie 4 C D process_of.B A C
and Inheritance process_of. D process_of. B all/each: supports both some/some: no support of inheritance some/all: doesn’t supports inheritance, but inheritance process_of. B A C
Blocking of Inheritance Example: Process_of(BiologicFunction,Organism) Process_of(MentalProcess,Plant) Modifying axioms: subsumes: P(A,B) C1 A and D1 B A C1 (P) and B D1 (P)
Polymorphic Relations Ergebnis Interpretation Encoding / Inheritance Inheritance Blocking Polymorphic Relations / equals (P) A (P) B No/No N/A No / subsumed (P) A (P) B Missed model / subsumes A (P) B (P) Yes/Yes Exceptions + compensation Unintended model all / some A P.B Yes/No Exception in axiom ok all / only A P.B Modification some / some 1(A P.B) some / all 1(AP.B) No/Yes all / each A P.B
Methodologie für die Kodierung von Wissen im Semantic Web Wahl der Kodierung Unterstützung von Inferenz Unterstützung der intendierten Anwendung Nachvollziehbares Domänenmodell Repräsentation in der Ontologiesprache
Unterstützung von Inferenzen Welche Kodierung unterstützt Inferenz? All/each und subsumes Unterstützt die Kodierung nicht-intendierte Inferenzen? Some/some unterstützt Aufwärts-Vererbung von Links Kann etwas aus der Abwesenheit eines Links geschlussfolgert werden? A P. B verbietet nicht, dass A in Relation zu B steht
Unterstützung der intendierten Anwendung Ist es wichtig Inkonsistenzen zu erkennen? Was sind Inkonsistenzen? Wird die Kodierung diese Inkonsistenzen erkennen?
Nachvollziehbarkeit des Domänenmodells Konzepte sind Kollektionen von Instanzen Causes(Bacteria,Infection) Was ist die intuitive Kodierung? All/some and all/only wird von medizinischen Ontologien genutzt All/each und some/some wurden abgelehnt Gibt es alternative Interpretationen? Aber: all/each erfüllt alle UMLS SN Anforderungen
Repräsentation in der Ontologiesprache Grenzen von OWL Negation und Disjunktion von Rollen Kardinalität von Konzepten Kann man weniger „teure“ Konstrukte verwenden? Ressourcen fließen in die Komplexität der DL Operatoren
Conclusions and Future Work Experiences in representing a real world “ontology”, the UMLS Semantic Network Has been used very successfully Requirements: / inheritance, inheritance blocking, polymorphic relationships Presented multiple interpretations and encodings and evaluated their support for the UMLS Semantic Network requirements Ontology developers and encoders on the Semantic Web might encounter similar requirements and possible encodings Identified criteria for choosing between the various encodings First steps towards a methodology which might be useful to ontology developers Ongoing and Future Work Semantic Vocabulary Interoperation Project http://cgsb2.nlm.nih.gov/~kashyap/projects/SVIP Use of OWL, RDF for improvement in Medical Information Retrieval