@prefix rdf: . @prefix xs: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix mof2rdf: . # === Mapping of MOF Package =========================================== a owl:Ontology ; rdfs:label "Package1" ; owl:imports . # === Mapping of MOF DataType (unstructured) =========================== a rdfs:DataType ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "DataType1" . # === Mapping of MOF DataType (structured) ============================= a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "DataType2" ; rdfs:subClassOf mof2rdf:DataType, [ a owl:Restriction ; owl:allValuesFrom xsd:integer ; owl:onProperty ], [ a owl:Restriction ; owl:onDataRange xsd:integer ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ a owl:Restriction ; owl:allValuesFrom xsd:integer ; owl:onProperty ], [ a owl:Restriction ; owl:onDataRange xsd:integer ; owl:onProperty ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "a1" ; rdfs:range xsd:integer . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "a2" ; rdfs:range xsd:integer . # === Mapping of MOF Enumeration ======================================= a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "SomeKind" ; rdfs:subClassOf mof2rdf:Enumeration ; owl:equivalentClass [ a owl:Class ; owl:oneOf ( ) ] . a , owl:NamedIndividual ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "BLUE" . a , owl:NamedIndividual ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "GREEN" . a , owl:NamedIndividual ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "RED" . [] a owl:AllDifferent ; owl:distinctMembers ( ) . # === Mapping of MOF Class ============================================= a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA" ; rdfs:subClassOf mof2rdf:Class . # === Mapping of MOF Property ========================================== # # [attr1] Property typed as literal Integer, with default multiplicity. # [attr2] Optional Property typed as an unbounded set of String literals. # [attr3] Property typed as a set of literal Integer, with explicit # multiplicity range. # [attr4] Property typed by a flat user-defined DataType, with default # multiplicity. # [attr5] Property typed by a structured user-defined DataType, with # default multiplicity. # [attr6] Property typed by a Class, with default multiplicity. # === Mapping of MOF Property [attr1] ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA1" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom xsd:integer ; owl:onProperty ], [ a owl:Restriction ; owl:onDataRange xsd:integer ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "attr1" ; rdfs:range xsd:integer . # === Mapping of MOF Property [attr2] ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA2" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom xsd:string ; owl:onProperty ] . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "attr2" ; rdfs:range xsd:string . # === Mapping of MOF Property [attr3] ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA3" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom xsd:integer ; owl:onProperty ], [ a owl:Restriction ; owl:onDataRange xsd:integer ; owl:onProperty owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ a owl:Restriction ; owl:onDataRange xsd:integer ; owl:onProperty ; owl:maxQualifiedCardinality "5"^^xsd:nonNegativeInteger ] . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "attr3" ; rdfs:range xsd:integer . # === Mapping of MOF Property [attr4] ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA4" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:onDataRange ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "attr4" ; rdfs:range . # === Mapping of MOF Property [attr5] ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA5" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "attr5" ; rdfs:range . # === Mapping of MOF Property [attr6] ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "ClassA6" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package1/" ] ; rdfs:label "attr6" ; rdfs:range . \end{newowllisting} # === Mapping of MOF Association ======================================= a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package2/" ] ; rdfs:label "Association_AB" ; rdfs:subClassOf mof2rdf:Association, [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endA" ; rdfs:range . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endA link" ; rdfs:range . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endB" ; rdfs:range . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endB link" ; rdfs:range . a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package2/" ] ; rdfs:label "ClassA" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality "3"^^xsd:nonNegativeInteger ; owl:onClass ; owl:onProperty ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package2/" ] ; rdfs:label "endB" ; rdfs:range ; owl:inverseOf ; owl:propertyChainAxiom ([ owl:inverseOf ] ) . a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package2/" ] ; rdfs:label "ClassB" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:someValuesFrom ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package2/" ] ; rdfs:label "endA" ; rdfs:range ; owl:propertyChainAxiom ([ owl:inverseOf ] ) . # === Mapping of MOF OrderedAssocoiation =============================== # (showing difference to MOF Association) # # # a owl:Class ; # rdfs:isDefinedBy [ # rdfs:resource "http://example.com/Package2/" # ] ; # rdfs:label "Association_AB" ; # rdfs:subClassOf mof2rdf:OrderedAssociation, [ # a owl:Restriction ; # owl:onClass ; # owl:onProperty ; # owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger # ], [ # a owl:Restriction ; # owl:onClass ; # owl:onProperty ; # owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger # ] . # # # a owl:AnnotationProperty ; # rdfs:domain ; # rdfs:label "Association_AB link sequence" ; # rdfs:range xsd:naturalInteger . # # === Mapping of MOF AssociationClass ================================== a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package3/" ] ; rdfs:label "AssoClass_AB" ; rdfs:subClassOf mof2rdf:AssociationClass, [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ a owl:Restriction ; owl:onClass ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ], [ a owl:Restriction ; owl:allValuesFrom xsd:integer ; owl:onProperty ], [ a owl:Restriction ; owl:onDataRange xsd:integer ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endA" ; rdfs:range . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endA link" ; rdfs:range . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endB" ; rdfs:range . a owl:ObjectProperty ; rdfs:domain ; rdfs:label "endB link" ; rdfs:range . a owl:DatatypeProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package3/" ] ; rdfs:label "ac1" ; rdfs:range xsd:integer . a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package3/" ] ; rdfs:label "ClassA" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:maxQualifiedCardinality "3"^^xsd:nonNegativeInteger ; owl:onClass ; owl:onProperty ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package3/" ] ; rdfs:label "endB" ; rdfs:range ; owl:inverseOf ; owl:propertyChainAxiom ([ owl:inverseOf ] ) . a owl:Class ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package3/" ] ; rdfs:label "ClassB" ; rdfs:subClassOf mof2rdf:Class, [ a owl:Restriction ; owl:allValuesFrom ; owl:onProperty ], [ a owl:Restriction ; owl:onProperty ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:someValuesFrom ] . a owl:ObjectProperty ; rdfs:domain ; rdfs:isDefinedBy [ rdfs:resource "http://example.com/Package3/" ] ; rdfs:label "endA" ; rdfs:range ; owl:propertyChainAxiom ([ owl:inverseOf ] ) .