1 / 54

RDFS

RDFS. Chapter 9. 9 RDFS (RDF Schema). RDFS Part of the Ontological Primitive layer Adds features to RDF Provides standard vocabulary for describing concepts (meta-vocabulary) Chapter Overview of RDFS features Introduces classes, individuals, and properties. 9.1 RDFS Overview.

tclausen
Download Presentation

RDFS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RDFS Chapter 9

  2. 9 RDFS (RDF Schema) • RDFS • Part of the Ontological Primitive layer • Adds features to RDF • Provides standard vocabulary for describing concepts (meta-vocabulary) • Chapter • Overview of RDFS features • Introduces classes, individuals, and properties

  3. 9.1 RDFS Overview • RDFS (RDF Schema) • Domain-neutral lightweight schema language • Provides basic structures: classes & properties • Builds on RDF • Specification • http://www.w3.org/TR/rdf-schema/ • Namespace • Prefix: rdfs • Name: http://www.w3.org/2000/01/rdf-schema#

  4. 9.2 RDFS Features • RDFS (RDF Schema) • Defines additional modeling primitives • Extends RDF using a formal class concept • Permits restricting properties and classes • Uses RDF/XML syntax • RDFS vocabulary • Collection of class & property descriptions • Can be combined • Describes domain using RDF resources that define characteristics of other resources • Managed by decentralized communities of interest

  5. 9.3 RDFS Classes • RDFS • Extends the RDF type concept • Provides formal mechanisms for classes which represent concepts • Predefines several core classes

  6. 9.3.1 RDFS Class Concept • RDFS classes • Sets used to describe concepts as categories of resources, typically for a particular domain • Templates used to instantiate objects • Have associated resources (instances of the class) • Resources can be multi-classed • Set of all instances called “class extension” • Similar to OOP classes (but no behavior) • Properties are not tied to specific classes • More like entities in data models or RDBMS tables

  7. 9.3.2 Predefined RDFS Classes • RDFS supports formal vocabularies by formalizing the concepts of • Resource • Class • Property • Datatype • Literal • XML literal using predefined resources

  8. 9.3.2.1 Defining RDFS Classes • rdfs:Class type • Is defined as an rdf:type • Establishes class membership • Superseded by OWL classes • Usually uses the typed node syntax • Classes are RDF resources whose rdf:type is “rdfs:Class” • RDFS uses RDF to define itself

  9. 9.3.2.2 RDFS Resources • rdfs:Resource class • Built-in class • Root class of all RDF resources and classes • Similar to Java Object class • All RDFS classes and RDF resources are subclasses of rdfs:Resource

  10. 9.3.2.3 RDF Properties • rdf:Property class • Built-in class • Root class of all RDF & RDFS properties • Similar to Java Property class • RDFS uses the RDF definition of properties • Use rdf prefix, not rdfs • All RDFS properties are instances of the rdf:Property class

  11. 9.3.2.4 RDFS Classes • rdfs:Class class • All resources that have an rdf:type of rdfs:class are RDFS classes • Defined recursively • rdfs:Class resource is an rdfs:Class • Instances are classes • Root class of all RDFS classes • Similar to Java Class class

  12. 9.3.2.5 RDFS Literals • rdfs:Literal class • Set of atomic plain and typed literal values • Can be used to specify restriction that property’s values (range) must be string literals • Instances are literal values such as strings and integers • Used by OWL directly as a datatype • Implicitly part of all ontologies • All RDFS literals are instances of rdfs:Literal

  13. 9.3.2.6 XML Literals • rdf:XMLLiteral class • Subclass of rdfs:Literal • Represents XML strings within RDF statements • Only datatype predefined in RDF • Use rdf prefix, not rdfs • Can also include language identifiers • Subset of XMLS datatypes

  14. 9.3.2.7 RDFS Datatype Class • Datatypes define subsets of literal values that have associated semantics • rdfs:Datatype class • Parent class for all RDFS datatypes • Instances of the class are also implicitly subclasses of rdfs:Literal • Provide mechanism for referring to XMLS datatypes • Example • &xsd;nonNegativeInteger is instance of rdfs:Datatype and subclass of rdfs:Literal • Although legal, defining new instances discouraged

  15. 9.3.2.8 RDFS Predefined Class Summary

  16. 9.4 Individuals • Individuals • Instances of user-defined classes • Associated to classes using rdf:type property • Can be assigned to one or more classes • Covered in more detail in Chapter 15

  17. 9.5 Properties • RDFS enhances RDF Properties, allowing the specification of restrictions or constraints • Limit the values a property can have • Limit which properties a resource can have • RDFS provides vocabulary for • Core properties • Clarification properties • Container descriptions • Documentation properties

  18. 9.5.1 Core Properties • Core properties provided by RDFS • rdf:type • Relate individuals to classes • rdfs:subClassOf • Relate classes to classes • rdfs:subPropertyOf • Relate properties to properties • rdfs:range & rdfs:domain • Relate properties to classes • All properties are instances of rdf:Property

  19. 9.5.1.1 RDF Type Property • rdf:Type property • Asserts that an individual is a member of a particular class • Domain: any Resource • Range: Instance of rdfs:Class

  20. 9.5.1.2 Specializing Classes • Classes are organized into generalization/ specialization hierarchy (hyponymy) • rdfs:subClassOf property • Defines a specialization relationship • Specified in the subclass • Value is the superclass • Domain: Instance of rdfs:Class • Range: Instance of rdfs:Class • Similar to subset relation between classes • A class can be a subclass of multiple superclasses

  21. 9.5.1.2 Specializing Classes cont’d • Syntax • <rdfs:Class rdfID="subclassURIref"> <rdfs:subClassOf rdf:resource="superclassURIref"/></rdfs:Class> • Example • <rdfs:Class rdfID="spaghettiDish"> <rdfs:subClassOf rdf:resource="#pastaDish"/></rdfs:Class> • All classes automatically subclass of rdfs:Resource • Subclasses “inherit” superclass’ property restrictions • Transitive property • C is a subclass of B ∧ B is a subclass of A → C is a subclass of A • Instance of subclass has properties of both subclass and superclass

  22. 9.5.1.3 Specializing Properties • Properties can also be organized into hierarchies • rdfs:subPropertyOf property • Defines specialization relationship b/w properties • Specified in the subproperty • Value is the superproperty • Domain: Instance of rdf:Property • Range: Instance of rdf:Property • Subproperties can have multiple superproperties • Transitive, like rdf:subClassOf • Example • <rdf:Propertyrdf:ID="faxNumber"> <rdfs:subPropertyOfrdf:resource="#phoneNumber"/></rdf:Property>

  23. 9.5.1.4 Restricting Property Values • rdfs:Range property • Restricts values of properties to classes or datatypes/data ranges • Applies to all uses of the property • Domain: Instance of rdf:Property • Range: Instance of rdfs:Class • Example: • <rdf:Propertyrdf:ID="ownedBy"> <rdfs:rangerdf:resource="#Person"/></rdf:Property> // Only a Person can own something • <Restaurant rdf:ID="JoesPizzaria"> <restaurantName>Joe’s Pizzaria</restaurantName> <ownedByrdf:resource="#Person123"/></Restaurant> // Valid only if Person123 is an instance of Person

  24. 9.5.1.4 Restricting Values cont’d • Use global property restrictions with care • Might want something to be owned by a company! • Recommended: make property name specific • “restaurantOwnerIndividual”, not “ownedBy” • Range restrictions should not be separate URIs • Causes scalability & usability difficulties • Multiple range restrictions can be specified • If 2 or more rdfs:range properties specified, resources used as property values must be instances of all (intersection of) classes specified in rdfs:range properties • Can infer that individual is member of a class if it is the value of a property that has a range restriction

  25. 9.5.1.5 Restricting Property Subjects • rdfs:domain property • Restricts the subject of a property to instances of a class, or to a specified intersection of classes • Applies to all uses of the property • Domain: Instance of rdf:Property • Range: Instance of rdfs:Class • Example • <rdf:Propertyrdf:ID="ownedBy"> <rdfs:domainrdf:resource="#Restaurant"/></rdf:Property> // Only a Restaurant can be ownedBy something • <Restaurant rdf:ID="JoesPizzaria"> <restaurantName>Joe’s Pizzaria</restaurantName> <ownedByrdf:resource="#Person123"/></Restaurant> // Valid since JoesPizzaria instance of Restaurant

  26. 9.5.1.5 Restricting Subjects cont’d • Can infer that individual belongs to class if it’s subject of a property that has a range restriction • Multiple range restrictions can be specified • If 2 or more rdfs:domain properties specified, resources used as property’s subject must be instances of all (intersection of) classes specified in rdfs:domain properties

  27. 9.5.1.6 RDFS Core Properties Summary

  28. 9.5.2 RDFS Clarification Properties • Clarification properties • Reference related resources (rdf:seeAlso) • Identify a resource’s source (rdf:isDefinedBy) • Non-core properties

  29. 9.5.2.1 Referencing Related Resources • rdf:seeAlso property • Identifies a resource that provides additional information about subject • Domain & Range: Instance of rdfs:Resource • Syntax • <rdf:seeAlsordf:resource="referencedURIref"/> • Example • <menu:Pierdf:ID="chocolatePie"> <rdf:seeAlsordf:resource="#frenchSilkPie"/></menu:Pie> • Weak semantics, but occasionally useful

  30. 9.5.2.2 Identifying A Resource’s Source • rdfs:isDefinedBy property • Subproperty of rdfs:seeAlso • Relates resource to other resource that defines it • Domain & Range: Instance of rdfs:Resource • Syntax • <rdfs:isDefinedBy rdf:resource="definingURIref"/> • Can be used to explicitly identify the defining RDF vocabulary for a resource • Useful if the URI portion of a resource does not indicate the schema of the resource

  31. 9.5.3(.1) RDFS Container Classes • rdfs:Container class • Superclass of the 3 RDFcontainers (Bag, Seq, Alt) • Encapsulates things into groups referenced as a whole • Helps manage description of container types

  32. 9.5.3.2&3 Membership Properties • rdfs:ContainerMembershipProperty class • Used to instantiate individual subproperties for accessing members of containers • Subproperties are named rdf:_1, rdf:_2, … rdf:_n • Specific types of rdfs:member property • rdfs:member property • Superproperty of all container membership properties (rdf:_n)

  33. 9.5.4 RDFS Documentation Properties • Used to associate human-readable names, labels, and descriptions of resources • rdfs:label & rdfs:comment properties • Can be used by user interface software to provide documentation to developers • Can supply multiple values using xml:lang attributes to support internationalization • Best practice: always label and comment classes and properties

  34. 9.5.4.1 Labeling Resources • rdfs:Label property • Provides human-readable version of resource name • Short textual string useful in user interface • Domain: Instance of rdfs:Resource • Range: Instance of rdfs:Literal • Syntax • <rdfs:label>labelString</rdfs:label> • Example • <menu:Dessertrdf:ID="KLP"> <rdfs:label>Key Lime Pie</rdfs:label></menu:Dessert> • Best practice: label everything! Use xml:lang attributes to support labels in other languages

  35. 9.5.4.2 Commenting Resources • rdfs:comment property • Used to describe a resource with free-form text • Longer textual string describing the resource • Domain: Instance of rdfs:Resource • Range: Instance of rdfs:Literal • Syntax • <rdfs:comment>commentString</rdfs:comment> • Example • <menu:Dessertrdf:ID="KLP"> <rdfs:comment>Key Lime Pie is a dessert made from milk, juice, and crackers </rdfs:comment></menu:Dessert> • Best practice: use instead of <!-- XML comment -->Comment everything, use xml:lang attribute

  36. 9.6 RDFS Summary • RDFS • Provides many of the features required in a Semantic Web language by extending RDF with additional semantic features • Supports specification of limited ontologies through standardization of • Classes • Properties • Individuals • Generalizations • Property restrictions

  37. 9.6 RDFS Summary cont’d • Complete example showing most RDFS features <rdfs:Classrdf:ID="KeyLimePie"> <rdfs:label>Key Lime Pie</rdfs:label> <rdfs:comment>This class represents Key lime pies</rdfs:comment> <rdfs:subClassOfrdf:resource="#Dessert"/> <rdfs:subClassOfrdf:resource="#FoodItem"/> </rdfs:Class> <rdf:Propertyrdf:ID="primaryIngredient"> <rdfs:subPropertyOfrdf:resource="#ingredient"/> <rdfs:rangerdf:resource="&rdfs;Literal"/> </rdf:Property> <Pie rdf:ID="KLP"> <primaryIngredient>condensed milk</primaryIngredient> </Pie> <rdfs:Datatyperdf:about="http://www.restaurant.org/calories"> <rdfs:subClassOfrdf:resource="&xsd;positiveInteger"> </rdfs:Datatype>

  38. 9.6 RDFS Summary cont’d

  39. 9.6 Why RDFS is not Enough • RDFS • Adds critical ontological primitives • Provides several features for specifying ontologies • Does not support sufficient property restrictions • No restrictions on cardinality • Provides few descriptors to support inferencing • Can’t conclude that an object belongs to a class based on its property values • Can’t do class unions, complements • OWL provides the missing pieces

  40. Chapter 10 OWL

  41. 10(.1) OWL (Web Ontology Language) • OWL • Logical layer • Builds on & extends RDF & RDFS • Adds language features for describing ontologies • Developed to satisfy requirements of Semantic Web • Chapter • Overview of OWL features • Introduces the 3 species • OWL Lite • OWL Full • OWL DL

  42. 10.1.1 OWL Definition • OWL • W3C’s recommended ontology language • Used to define an ontology for a particular domain • OWL ontology • Set of axioms describing classes, properties, and relationships between them • RDF/XML used to define conforming instance data

  43. 10.1.2 OWL History • OWL evolved from • DARPA Agent Markup Language (DAML) • Ontology Inference Layer (OIL) • Both combined into DAML+OIL • DARPA Agent Markup Language (DAML) • Developed by DARPA & MIT • Defense Advanced Research Projects Agency • Research branch of US Dept of Defense • Initiated Aug 2000 • Led by Dr. James Hendler

  44. 10.1.2 OWL History cont’d • Ontology Inference Layer (OIL) • European Union developed in parallel with DAML • DAML+OIL • Merged in March 2001 • Designed to enable agent communication • “Thin layer” on top of RDFS • Starting point for Web Ontology Working Group

  45. 10.1.2 OWL History cont’d • W3C WebOnt Working Group • Led by Hendler and Guus Schreiber • Mission • Define a formal semantics to precisely define the meaning of expressions in a language and valid inferences that can be made from those expressions • Use XML syntax and datatypes • Retain compatibility with XML & RDF if possible • OWL adopted by W3C as official recommendation February 10, 2004

  46. 10.1.3 OWL Specification • OWL Overview (introduction) • http://www.w3.org/TR/owl-features/ • OWL Guide (good examples) • http://www.w3.org/TR/owl-guide/ • OWL Reference (reference guide) • http://www.w3c.org/TR/owl-ref/ • OWL Semantics and Abstract Syntax (abstruse!) • http://www.w3.org/owl-semantics/

  47. 10.1.3 OWL Specification cont’d • OWL Test Cases (used to certify applications) • http://www.w3.org/owl-test/ • OWL Use Cases & Requirements (scenarios) • http://www.w3.org/webont-req • Namespace • Prefix: owl • Name: http://www.w3.org/2002/07/owl# • Mime type: application/rdf+xml

  48. 10.1.4 OWL Features • OWL • Provides features that extend RDFS • Supports better inferencing • Enables the creation of domain-agile tools and reasoners to provide new functionality • Transitions effort from coding complex software to representing information

  49. 10.2 OWL Species • Three dialects (or species) of OWL • OWL Full • OWL DL • OWL Lite • Each supports a different group of users that need a different level of expressional capability

  50. 10.2.1 OWL Full • Complete set of all language constructs • Superset of RDF • All RDF documents are OWL Full documents • No restrictions • RDF statements can be mixed in as desired • No guarantee of decidability! • NP-complete problem

More Related