Download presentation
Presentation is loading. Please wait.
Published byKassandra Notley Modified over 10 years ago
1
Co-funded by the European Union Semantic CMS Community The Semantic Web – Part 2 Modeling Complex Knowledge Domains Copyright IKS Consortium 1 Lecturer Organization Date of presentation
2
www.iks-project.eu Page: 2 Copyright IKS Consortium Content Management The Semantic Web Storing and Accessing Semantic Data Semantic Lifting Knowledge Representation and Reasoning Knowledge Interaction and Presentation Designing Interactive Ubiquitous IS Semantifying your CMS Reference Architecture for Semantic CMS Requirements Engineering for Semantic CMS Part I: Foundations Part III: Methodologies Part II: Semantic Content Management
3
www.iks-project.eu Page: Semantic Web Layer Cake Copyright IKS Consortium 3 Semantic Web Layer Cake, Image source: http://www.w3.org/2007/03/layerCake.svg Unique identification of resources Unique identification of resources A format for specifying structured data in a machine-readable form A model for describing resources with properties and property values. A language for querying information specified in RDF.
4
www.iks-project.eu Page: RDF RDF can be used to make statements about single resources identified by URIs RDF is able to define relations among resources Literals can be assigned as values to properties of resources Copyright IKS Consortium 4 http://example.org/myCarhttp://example.org/Jaguar http://example.org/rel/Brand XF http://example.org/rel/Model http://example.org/myCar
5
www.iks-project.eu Page: RDF Classes Copyright IKS Consortium 5 http://example.org/myCarhttp://example.org/Jaguar http://example.org/rel/Brand http://example.org/VW Vehicle Car How are these terms related to each other? Do these terms have anything in common?
6
www.iks-project.eu Page: RDF Properties We need to do statements about properties What is the type of the property? Definition of valid types for subjects and objects Definition of hierarchies of properties Copyright IKS Consortium 6 http://example.org/my Car http://example.org/University Paderborn http://example.org/rel/Brand Is “UniversityPaderborn” a valid value for property “Brand”?
7
www.iks-project.eu Page: Copyright IKS Consortium 7 We need to define a vocabulary for our domain!
8
www.iks-project.eu Page: RDF Schema “RDF's vocabulary description language, RDF Schema, is a semantic extension of RDF. It provides mechanisms for describing groups of related resources and the relationships between these resources.” W3C Recommendation RDF Vocabulary Description Language 1.0: RDF Schema The RDFS namespace is: “rdfs: http://www.w3.org/2000/01/rdf-schema#” But RDFS also uses elements from the rdf namespace! Copyright IKS Consortium 8 http://www.w3.org/TR/rdf-schema/
9
www.iks-project.eu Page: RDF Schema RDFS does not provide a specific vocabulary for describing properties such as “Brand”, but a language to define vocabularies RDFS uses RDF to define RDF vocabularies Due to it's limited expressiveness, RDFS is a language to define lightweight ontologies Copyright IKS Consortium 9 http://www.w3.org/TR/rdf-schema/ ”A little semantics goes a long way“ - Jim Hendler
10
www.iks-project.eu Page: RDFS Classes “Resources may be divided into groups called classes. The members of a class are known as instances of the class. Classes are themselves resources.” The members (resources) of a class A are termed instances of the class A Classes are resource, e.g. “http://example.org/CarManufacturer” and can be described by RDF properties Copyright IKS Consortium 10
11
www.iks-project.eu Page: RDFS Classes The predicate rdf:type assigns the object as type of the subject The assignment to a type is not exclusive A subject can be typed by several objects! Example: Copyright IKS Consortium 11 ex:Jaguar rdf:type ex:CarManufacturer
12
www.iks-project.eu Page: RDFS Classes A resource can be defined as a class explicitly The type rdfs:Class defines a resource as a class Example: rdfs:Class is the “class of all classes”, i.e.: Copyright IKS Consortium 12 ex:CarManufacturer rdf:type rdfs:Class rdfs:Class rdf:type rdfs:Class
13
www.iks-project.eu Page: Hierarchies of Classes “The property rdfs:subClassOf is an instance of rdf:Property that is used to state that all the instances of one class are instances of another.” The subject and object of the predicate “rdfs:subClassOf” must be instances of rdfs:Class The property rdfs:subClassOf is transitive Example: Copyright IKS Consortium 13 ex:CarManufacturer rdfs:subClassOf ex:Company
14
www.iks-project.eu Page: RDFS Constructs - Predefined Classes Copyright IKS Consortium 14 rdfs:Resource All things described by RDF are called resources, and are instances of the class rdfs:Resource. rdfs:Class This is the class of resources that are classes. rdfs:Class is an instance of rdfs:Class. rdfs:Literal The class rdfs:Literal is the class of literal values such as strings and integers. rdfs:Literal is an instance of rdfs:Class. rdfs:Literal is a subclass of rdfs:Resource. rdfs:Datatype rdfs:Datatype is the class of datatypes. rdfs:Datatype is both an instance of and a subclass of rdfs:Class. Each instance of rdfs:Datatype is a subclass of rdfs:Literal. rdf:XMLLiteral The class rdf:XMLLiteral is the class of XML literal values. rdf:XMLLiteral is an instance of rdfs:Datatype and a subclass of rdfs:Literal. rdf:Property rdf:Property is the class of RDF properties. rdf:Property is an instance of rdfs:Class. http://www.w3.org/TR/rdf-schema/ Typos?
15
www.iks-project.eu Page: RDFS Properties “The RDF Concepts and Abstract Syntax specification describes the concept of an RDF property as a relation between subject resources and object resources” A resource can be defined as property explicitly Copyright IKS Consortium 15 ex:Brand rdf:type rdf:Property
16
www.iks-project.eu Page: Hierarchies of Properties “The property rdfs:subPropertyOf is an instance of rdf:Property that is used to state that all resources related by one property are also related by another.” The subject and object of the predicate “rdfs:subPropertyOf ” must be instances of rdf:Property The property rdfs:subPropertyOf is transitive Example: Copyright IKS Consortium 16 ex:friendOf rdfs:subPropertyOf ex:knows
17
www.iks-project.eu Page: Property Restrictions We need to express, that only subjects and objects of specific types should be used for the predicate “Brand” Copyright IKS Consortium 17 http://example.org/my Car http://example.org/University Paderborn http://example.org/rel/Brand Is “UniversityPaderborn” a valid value for property “Brand”?
18
www.iks-project.eu Page: Domain “rdfs:domain is an instance of rdf:Property that is used to state that any resource that has a given property is an instance of one or more classes.” States that each subject with the predicate (property) is an instance of the defined class If more than one domain is defined, the subjects are instances of all classes! Example: Copyright IKS Consortium 18 ex:Brand rdfs:domain ex:Vehicle
19
www.iks-project.eu Page: Range “rdfs:range is an instance of rdf:Property that is used to state that the values of a property are instances of one or more classes.” States that each object of the predicate (property) is an instance of the defined class If more than one range is defined, the objects are instances of all classes! Example: Copyright IKS Consortium 19 ex:Brand rdfs:range ex:Company
20
www.iks-project.eu Page: RDFS Constructs – Predefined Properties (I) Copyright IKS Consortium 20 rdfs:range rdfs:range is an instance of rdf:Property that is used to state that the values of a property are instances of one or more classes. rdfs:domain rdfs:domain is an instance of rdf:Property that is used to state that any resource that has a given property is an instance of one or more classes. rdf:type rdf:type is an instance of rdf:Property that is used to state that a resource is an instance of a class. rdfs:subClassOf The property rdfs:subClassOf is an instance of rdf:Property that is used to state that all the instances of one class are instances of another. rdfs:subPropertyOf The property rdfs:subPropertyOf is an instance of rdf:Property that is used to state that all resources related by one property are also related by another.
21
www.iks-project.eu Page: RDFS Constructs – Predefined Properties (II) Copyright IKS Consortium 21 rdfs:label rdfs:label is an instance of rdf:Property that may be used to provide a human-readable version of a resource's name. rdfs:comment rdfs:comment is an instance of rdf:Property that may be used to provide a human-readable description of a resource.
22
www.iks-project.eu Page: RDFS - Example Copyright IKS Consortium 22 ex:CarManufacturer rdf:type ex:myCarex:Jaguar ex:Brand ex:Car rdf:type rdfs:domain rdf:range ex:Company ex:Vehicle rdfs:subClassOf RDF Assertional knowledge RDFS Terminological knowledge class property class ex:Brand
23
www.iks-project.eu Page: Back to the Cake... Copyright IKS Consortium 23 Semantic Web Layer Cake, Image source: http://www.w3.org/2007/03/layerCake.svg Unique identification of resources Unique identification of resources A format for specifying structured data in a machine-readable form A model for describing resources with properties and property values. A language for describing a lightweight ontology. A language for querying information specified in RDF.
24
www.iks-project.eu Page: Why is RDFS not enough? RDFS cannot express negations Defined property restrictions are global Missing cardinalities for properties Relations between (sub-)classes (e.g. disjunction) Copyright IKS Consortium 24
25
www.iks-project.eu Page: OWL – Web Ontology Language “The OWL Web Ontology Language is designed for use by applications that need to process the content of information instead of just presenting information to humans.” OWL has been developed as a vocabulary extension of RDF Explicitly represents the meaning of terms in vocabularies and the relationships between those terms. (Ontology) Copyright IKS Consortium 25 http://www.w3.org/TR/2004/REC-owl-features-20040210/
26
www.iks-project.eu Page: OWL – The Story 2004 - OWL W3C Recommendation 2009 - OWL 2 W3C Recommendation OWL = Web Ontology Language Why not WOL? Obvious pronunciation which is easy on the ear Opens up great opportunities for logos Owls are associated with wisdom It has an interesting back story Copyright IKS Consortium 26 http://lists.w3.org/Archives/Public/www-webont-wg/2001Dec/0169.html http://piqs.de
27
www.iks-project.eu Page: Dialects of OWL OWL Lite Provides classification hierarchy and simple constraint features OWL DL (description logic) - Includes OWL Lite Provides the maximum expressiveness without losing computational completeness and decidability of reasoning systems. OWL Full - Includes OWL DL Is meant for users who want maximum expressiveness and the syntactic freedom of RDF with no computational guarantees. Copyright IKS Consortium 27 http://www.w3.org/TR/2004/REC-owl-features-20040210/
28
www.iks-project.eu Page: How does OWL look like? Basic structure of an OWL Document Copyright IKS Consortium 28 <rdf:RDFxmlns:owl ="http://www.w3.org/2002/07/owl#" xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:xsd ="http://www.w3.org/2001/XMLSchema#"> xmlns="http://example.org/"> An example OWL ontology Car Ontology... RDF Document Namespace Definitions Ontology Header Importing another ontology Default Namespace
29
www.iks-project.eu Page: Simple OWL Classes Comparable to RDFS classes Every individual in OWL is a member of the class owl:Thing Each user-defined class is implicitly a subclass of owl:Thing OWL also defines the empty class owl:Nothing Definition of domain-specific root classes: Copyright IKS Consortium 29 Define class
30
www.iks-project.eu Page: Hierarchies of Classes The definition of basic taxonomies for classes can be done by rdfs:subClassOf. rdfs:subClassOf is transitive. Copyright IKS Consortium 30 “Car” is a subclass of “Vehicle”
31
www.iks-project.eu Page: Disjoint Classes “The disjointness of a set of classes can be expressed using the owl:disjointWith constructor. It guarantees that an individual that is a member of one class cannot simultaneously be an instance of a specified other class.“ Copyright IKS Consortium 31 The classes “Car” and “Vehicle” are disjoint.
32
www.iks-project.eu Page: Infer about Disjoint Classes Copyright IKS Consortium 32 The class “Car” is a subclass of “Vehicle” The class “Cat” is a subclass of “Animal” The classes “Vehicle” and “Animal” are disjoint It can be inferred, that the classes “Car” and “Cat“ are disjoint too!
33
www.iks-project.eu Page: Individuals In addition to the definition of classes, we also need to describe the members of classes (individuals) Abbreviated representation Copyright IKS Consortium 33 Definition of individual “Jaguar” Ties the individual to the class
34
www.iks-project.eu Page: Simple Properties “This world of classes and individuals would be pretty uninteresting if we could only define taxonomies. Properties let us assert general facts about the members of classes and specific facts about individuals.“ Property are binary relations. In OWL, two different types of properties are distinguished: object properties, relations between instances of two classes. datatype properties, relations between instances of classes and RDF literals and XML Schema datatypes Copyright IKS Consortium 34 http://www.w3.org/TR/owl-guide/
35
www.iks-project.eu Page: Object properties relate instances of classes by rdfs:domain and rdfs:range. Object Properties Copyright IKS Consortium 35 Domain and range for object property “Brand” Properties are defined like classes
36
www.iks-project.eu Page: Datatype properties relate class instances and data values using rdfs:domain and rdfs:range. Datatype Properties Copyright IKS Consortium 36 http://www.w3.org/TR/owl-guide/ Domain and range for datatype property “ConstructionYear” Properties are defined like classes
37
www.iks-project.eu Page: Recommended XML Schema datatypes xsd:stringxsd:normalizedStringxsd:boolean xsd:decimalxsd:floatxsd:double xsd:integerxsd:nonNegativeIntegerxsd:positiveInteger xsd:nonPositiveIntegerxsd:negativeIntegerxsd:byte xsd:longxsd:intxsd:short xsd:unsignedLongxsd:unsignedIntxsd:unsignedShort xsd:hexBinaryxsd:base64Binaryxsd:unsignedByte xsd:dateTimexsd:timexsd:date xsd:gYearxsd:gMonthDayxsd:gDay xsd:anyURIxsd:tokenxsd:language xsd:NMTOKENxsd:Namexsd:NCName xsd:gYearMonthxsd:gMonth Copyright IKS Consortium 37
38
www.iks-project.eu Page: Cardinality Constraints for Properties owl:minCardinality defines the minimal cardinality for the value of a property. owl:maxCardinality defines the maximal cardinality for the value of a property. Copyright IKS Consortium 38 2 Anonymous class Restriction for property “Wheels” Minimal number of “Wheels” is “2”
39
www.iks-project.eu Page: Cardinality Constraints for Properties “owl:cardinality permits the specification of exactly the number of elements in a relation.” Copyright IKS Consortium 39 2 Restriction for property “Wheels” Exact number of “Wheels” is “2”
40
www.iks-project.eu Page: Property Restrictions “The owl:allValuesFrom restriction requires that for every instance of the class that has instances of the specified property, the values of the property are all members of the class indicated by the owl:allValuesFrom clause.” Local restriction for class definition Copyright IKS Consortium 40 Restriction on property “PreOwner“ for instances from class “Car” Each value is member of class “Person”
41
www.iks-project.eu Page: Property Restrictions Copyright IKS Consortium 41 Restriction on property “PreOwner“ for instances from class “Car” At least one value is member of class “Person” RelationImplication allValuesFromFor all cars, if they have a previous owner, all previous owners are persons. someValuesFromFor all cars, they have at least one previous owner that is a person.
42
www.iks-project.eu Page: Property Restrictions with Constants “owl:hasValue allows us to specify classes based on the existence of particular property values. Hence, an individual will be a member of such a class whenever at least one of its property values is equal to the owl:hasValue resource.” Copyright IKS Consortium 42 Restriction for property “Owner” The class “myCar” is defined by value assignment
43
www.iks-project.eu Page: Intersection owl:intersectionOf defines a class as an intersection of other classes. Copyright IKS Consortium 43 If something is a “Car” and a “VW” it is a ”CarFromVW”
44
www.iks-project.eu Page: Union “owl:unionOf describes a class that contains those individuals that occur in at least one of the class extensions of the class descriptions in the list”. Copyright IKS Consortium 44 Gearbox is everything that is “ManualTransmission” or “AutomaticTransmission”.
45
www.iks-project.eu Page: Complement “The owl:complementOf construct selects all individuals from the domain of discourse that do not belong to a certain class.” Copyright IKS Consortium 45 “AutomaticTransmission” includes as members all individuals that do not belong to “ManualTransmission”.
46
www.iks-project.eu Page: If you want to know more... There is stuff about OWL out there, which is not part of this course: Class axioms Global restriction for properties Logical characteristics of properties If you are interested in learning more about OWL please check: The W3C OWL Reference (http://www.w3.org/TR/owl-ref) The W3C OWL Guide (http://www.w3.org/TR/owl-guide) .... Copyright IKS Consortium 46
47
www.iks-project.eu Page: OWL 2 OWL 2 adds new functionality to OWL, while the overall structure is very similar OWL 2 provides syntactic sugar e.g. disjoint union of classes Some OWL 2 feature provide new expressivity: keys, property chains richer datatypes, data ranges; qualified cardinality restrictions asymmetric, reflexive, disjoint properties enhanced annotation capabilities Copyright IKS Consortium 47 http://www.w3.org/TR/owl2-primer/
48
www.iks-project.eu Page: Back to the Cake... Copyright IKS Consortium 48 Semantic Web Layer Cake, Image source: http://www.w3.org/2007/03/layerCake.svg Unique identification of resources Unique identification of resources A format for specifying structured data in a machine-readable form A model for describing resources with properties and property values. A language for describing a lightweight ontology. A language for querying information specified in RDF. Highly expressive ontology language for modelling complex knowledge domains.
49
www.iks-project.eu Page: Lessons Learned Now you should know... ... what is the main difference between RDF and ontology languages like RDF Schema and OWL. ... how can RDF Schema be used to build simple ontologies. ... what are the shortcomings of RDF Schema and why is it not enough in some application cases. ... the web ontology language OWL. .. in which sense OWL is more expressive than RDF Schema. Copyright IKS Consortium 49
50
www.iks-project.eu Page: References and Additional Material RDF Vocabulary Description Language 1.0: RDF Schema http://www.w3.org/TR/rdf-schema/ OWL Web Ontology Language Guide http://www.w3.org/TR/owl-guide/ OWL Web Ontology Language Reference http://www.w3.org/TR/owl-ref/ OWL 2 Web Ontology Language Primer http://www.w3.org/TR/owl2-primer/ Copyright IKS Consortium 50
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.