Presentation is loading. Please wait.

Presentation is loading. Please wait.

LD/SW Modelling and Linking Guide modelling styles Michel Böhms

Similar presentations


Presentation on theme: "LD/SW Modelling and Linking Guide modelling styles Michel Böhms"— Presentation transcript:

1 LD/SW Modelling and Linking Guide modelling styles Michel Böhms

2 Meta concepts In general
Instances of Concepts Value Types Attributes* for Concepts/Individuals having Value Types as range Relationships between Concepts/Instances Constraints with respect to values or cardinalities * quantitative or qualitative

3 Meta concepts in RDF/RDFS/OWL
rdfs:Class owl:Class owl:Restriction rdfs:Datatype (reusing basic XSD datatypes) rdf:Property owl:DatatypeProperty owl:ObjectProperty owl:NamedIndividual

4 Two main Modelling styles
Style 1: The Simple Way Attributes as owl:DatatypeProperties, Relationships as owl:ObjectProperties All Value Types to rdfs:Datatype (including enumeration types) + : Most direct/simple - : Limited property annotation capabilities QUDT2.0 standard base/derived units used as rdfs:Datatypes Style 2: The Powerful Way Attributes and Relationships (and enumeration Value Types) as owl:Classes QUDT2.0 units used for standard base/derived units more explicitly + : More powerful - : More indirect/complex, needing own extra meta level language constructs

5 Example situation There are three concepts: physical objects, specialized into bridges and vehicles. Bridges are described with exactly one height attribute and vehicles have an optional velocity attribute. Vehicles always have an optional loadLevel attribute which can be Light, Normal or Heavy. Bridges furthermore serve certain vehicles (at a certain point in time). We have one instance of a bridge, with a height of 100 meters serving an instance of Vehicle, with loadLevel being Heavy and having a velocity of 128 km/hour.

6 The Simple Way /classes
:PhysicalObject rdf:type owl:Class . :Bridge rdf:type owl:Class ; rdfs:subClassOf :PhysicalObject . rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :height ; ] . :Vehicle Just one helper construct: qudt:Unit rdfs:subClassOf rdfs:Datatype ; .

7 The Simple Way /properties
:height rdf:type owl:DatatypeProperty ; rdfs:range: unit:M . :actualVelocity rdf:type owl:DatatypeProperty ; rdfs:range unit:KM-PER-HR . :loadLevel rdf:type owl:DatatypeProperty; rdfs:range [ rdf:type rdfs:Datatype ; owl:oneOf ( "Light" "Normal" “Heavy” ) ; ] . :currentlyServingVehicle rdf:type owl:ObjectProperty ; rdfs:range :Vehicle . Note: If multi-linguality is needed the load level value type can also be modelled as a LoadLevel class in combination with a hasLoadLevel object property

8 The Simple Way /individuALS
:Bridge_1   rdf:type :Bridge ;   :height “100.0”^^unit:M ; :currentlyServingVehicle :Vehicle_1 . :Vehicle_1 rdf:type :Vehicle ; :loadLevel “Heavy”^^xsd:string ; :actualVelocity “128.0”^^unit:KM-PER-HR .

9 THE powerful way /META CONSTRUCTS/1
# helper/meta classes/properties :hasAttributeValue rdf:type owl:ObjectProperty ; rdfs:range :AttributeValue . :AttributeValue owl:unionOF …. :QualityValue, qudt:QuantityValue :QualityValue rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "0"^^xsd:nonNegativeInteger ; owl:onProperty :stringValue ; ] ; owl:onProperty :booleanValue ; ] . :stringValue rdf:type owl:DatatypeProperty ; rdfs:range xsd:string . :booleanValue rdfs:range xsd:boolean .

10 The powerful way /META CONSTRUCTS/2
:Relationship rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :hasSource ; ] ; owl:onProperty :hasTarget ; ] . :hasSource rdf:type owl:ObjectProperty ; rdfs:domain :Relationship . :hasTarget

11 The powerful way /META CONSTRUCTS/3
qudt:Unit … qudt:QuantityValue qudt:unit qudt:numericValue unit:M rdf:type qudt:Unit . unit: KM-PER-HR   … : for details see example code of power.ttl

12 The powerful way /clASSES
:LoadLevel rdf:type owl:Class . :Light rdf:type :LoadLevel . :Normal rdf:type :LoadLevel . :Heavy rdf:type :LoadLevel . :Height rdf:type owl:Class ; rdfs:subClassOf qudt:QuantityValue . :Velocity :CurrentlyServingVehicle rdfs:subClassOf :cmo:Relationship . :HasLoadLevel :PhysicalObject rdf:type owl:Class . :Bridge rdf:type owl:Class ; rdfs:subClassOf :PhysicalObject ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :hasAttributeValue ; owl:onClass :Height ; ] . :Vehicle rdfs:subClassOf :PhysicalObject .

13 The powerful way /individuals
:Bridge_1 rdf:type :Bridge ; :hasAttributeValue :Height_1 . :Vehicle_1 rdf:type :Vehicle ; :hasAttributeValue :Velocity_1 . :CurrentlyServingVehicle_1 rdf:type :CurrentlyServingVehicle ; :hasSource :Bridge_1 ; :hasTarget :Vehicle_1 . :HasLoadLevel_1 rdf:type :HasLoadLevel ; :hasSource: :Vehicle_1 ; :hasTarget :Heavy . :Height_1 rdf:type :Height ; qudt:numericValue "100.0"^^unit:M ; qudt:unit unit:M .    :Velocity_1 rdf:type :Velocity ; qudt:numericValue "128.0"^^unit:KM-PER-HR ; qudt:unit unit:KM-PER-HR .

14 preference Use the Simple style and the Powerful style in combination
Reusing QUDT2.0 in both styles where possible Define a complete ‘lossless’ bi-directional mapping between the two styles (TO BE DONE!) Using a Link Set in RDF/RDFS/OWL or when needed more advanced specifications involving other rule languages like SPIN, SWRL, etc.

15 Extended Simple Exampe (decomposition)
:Bridge rdf:type owl:Class ; rdfs:subClassOf :PhysicalObject ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :height ; ] ; owl:onProperty cmo:hasDirectPart ; owl:onClass :Deck ; ] . :Deck rdf:type owl:Class ; rdfs:subClassOf :PhysicalObject ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty cmo:hasDirectPart ; owl:onClass :Slab ; ] . :Slab rdfs:subClassOf :PhysicalObject .

16 Extended Simple Exampe (decomposition)
:Bridge_1 rdf:type :Bridge ; :height "100.0"^^unit:M ; cmo:hasDirectPart :Deck_1 ; :currentlyServingVehicle :Vehicle_1 . :Deck_1 rdf:type :Deck ; cmo:hasDirectPart :Slab_1, :Slab_2, :Slab_3 :Slab_1 rdf:type :Slab . :Slab_2 :Slab_3

17 Extended Simple Exampe (decomposition) – VIEW IN tbc
Added Associations view based on cmo:hasDirectpart

18 Thank you for your attention
Take a look: TIME.TNO.NL


Download ppt "LD/SW Modelling and Linking Guide modelling styles Michel Böhms"

Similar presentations


Ads by Google