RDF Schema (RDFS) RDF user communities need to define the vocabularies (terms) to indicate that they  are describing specific kinds or classes of resources.

Slides:



Advertisements
Similar presentations
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
Advertisements

RDF Schema – Syntax and Intuition
Dr. Jim Bowring Computer Science Department College of Charleston CSIS 690 (633) May Evening 2009 Semantic Web Principles and Practice Class 5: 27 May.
1 An Introduction To The Semantic Web. 2 Information Access on the Web Find an mp3 of a song that was on the Billboard Top Ten that features a cowbell.
Dr. Alexandra I. Cristea RDF.
Chapter 3A Semantic Web Primer 1 Chapter 3 Describing Web Resources in RDF Grigoris Antoniou Frank van Harmelen.
State of the Art in Semantic Web standards and technologies Andreas Duscher.
Knowledge Technologies Manolis Koubarakis 1 An Introduction to RDF Schema.
Resource Description Framework (RDF) developed by World Wide Web Consortium (W3C) by Satya.
More RDF CS 431 – Carl Lagoze – Cornell University Acknowledgements: Eric Miller Dieter Fensel.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
JOSH FLECK Semantic Web. What is Semantic Web? Movement led by W3C that promotes common formats for data on the web Describes things in a way that computer.
LDK R Logics for Data and Knowledge Representation Resource Description Framework (RDF) Fausto Giunchiglia and Biswanath Dutta Fall’2011.
Nancy Ide Vassar College USA Resource Definition Framework A Tutorial EUROLAN 2003 July 28 - August 8 Bucharest - Romania.
RDF Semantics by Patrick Hayes W3C Recommendation Presented by Jie Bao RPI Sept 4, 2008 Part 1 of RDF/OWL Semantics Tutorial.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
Chapter 3 RDF Schema.
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
Logics for Data and Knowledge Representation
RDF – Resource Description Framework M. Missikoff – F. Taglino LEKS, IASI-CNR Una piattaforma inferenziale per il Web Semantico: Jena2 Roma, 2006 Web Semantico.
© Copyright 2008 STI INNSBRUCK RDF and RDF Schema Semantic Web Lecture Lecture III – xx 2009 Dieter Fensel Slides.
Chapter 9. 9 RDFS (RDF Schema) RDFS Part of the Ontological Primitive layer Adds features to RDF Provides standard vocabulary for describing concepts.
OWL Representing Information Using the Web Ontology Language 1.
Chapter 3 RDF Schema. Introduction RDF has a very simple data model RDF Schema (RDFS) enriches the data model, adding vocabulary and associated semantics.
Of 41 lecture 4: rdf – basics and language. of 41 RDF basic ideas the fundamental concepts of RDF  resources  properties  statements ece 720, winter.
Part I: Set Constructs. RDF Schema (RDFS) RDF does not provide mechanisms to define domain classes and properties RDFS is a vocabulary that provides many.
RDF and XML 인공지능 연구실 한기덕. 2 개요  1. Basic of RDF  2. Example of RDF  3. How XML Namespaces Work  4. The Abbreviated RDF Syntax  5. RDF Resource Collections.
Chapter 3 RDF and RDFS Semantics. Introduction RDF has a very simple data model But it is quite liberal in what you can say Semantics can be given using.
Turtle – RDF Graph. Turtle – Basic Syntax Triples are terminated with a full stop URLs are encoded in angle brackets ( ) Literals are enclosed by double.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
RDF & RDF Schema Machine Understandable Metadata for the Web Semantic Web - Spring 2006 Computer Engineering Department Sharif University of Technology.
Part II. Property domain and range restriction RDFS allows us to put restriction on the properties by specifying their domain and range, providing the.
Of 35 lecture 5: rdf schema. of 35 RDF and RDF Schema basic ideas ece 627, winter ‘132 RDF is about graphs – it creates a graph structure to represent.
Introduction The Resource Description Framework (RDF) is recommended by the World Wide Web Consortium (W3C) to model meta-data about the resources of the.
OIL and DAML+OIL: Ontology Languages for the Semantic Web Sungshin Lim TOWARDS THE SEMANTIC WEB: Ontology-driven Knowledge.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
The RDF meta model Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations of XML compared.
Dr. Alexandra I. Cristea RDF.
Ch 7: RDF schema 현근수, 김영욱, 백상윤, 이용현 Team C. Introduction Semantic web modeling In RDF: simply creates graph structure to represent data In RDFS: about.
Important Concepts from the W3C RDF Vocabulary/Schema Sungtae Kim SNU OOPSLA Lab. August 19, 2004.
RDF/RDFS Tutorial. Introduction The Resource Description Framework (RDF) is recommended by the World Wide Web Consortium (W3C) to model meta-data about.
Practical RDF Ch.4 Specialized RDF Relationships: Reification, Containers, and Collections Kim, Jong-Nam SNU OOPSLA Lab. August 12, 2004.
Doc.: IEEE /0169r0 Submission Joe Kwak (InterDigital) Slide 1 November 2010 Slide 1 Overview of Resource Description Framework (RFD/XML) Date:
Of 38 lecture 6: rdf – axiomatic semantics and query.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall RDF & RDF Schema Machine Understandable Metadata for the.
Knowledge Technologies Manolis Koubarakis 1 Some Other Useful Features of RDF.
Other RDF Capabilities. Exercise: Write the following information into a set of statements (triples) and then draw them into and RDF graph The article.
Linked Data & Semantic Web Technology The Semantic Web Part 5. Resource Description Framework (2) Dr. Myungjin Lee.
LegalRuleML Metamodel Tara Athan, Harold Boley, Guido Governatori, Monica Palmirani, Adrian Paschke, Adam Wyner July 13, 2013 RuleML th International.
Semantic Web In Depth Resource Description Framework Dr Nicholas Gibbins –
Linked Data & Semantic Web Technology The Semantic Web Part 7. RDF Semantics Dr. Myungjin Lee.
Semantic Web in Depth RDF Schema Dr Nicholas Gibbins –
Linked Data & Semantic Web Technology The Semantic Web Part 4. Resource Description Framework (1) Dr. Myungjin Lee.
Service-Oriented Computing: Semantics, Processes, Agents
Charlie Abela Department of Intelligent Computer Systems
An Introduction to RDF Schema
The Semantic Web Part 6. RDF Vocabularies: RDF Schema
Chapter 3 RDF Schema.
Service-Oriented Computing: Semantics, Processes, Agents
Introduction to the Semantic Web (tutorial) 2009 Semantic Technology Conference San Jose, California, USA June 15, 2009 Ivan Herman, W3C
Service-Oriented Computing: Semantics, Processes, Agents
Tutorial on Semantic Web
Some Other Useful Features of RDF
Introduction to RDF and RDFS Editor: MR3
ece 720 intelligent web: ontology and beyond
Chapter 3 RDF and RDFS Semantics
Semantic Web Basics (cont.)
Semantic-Web, Triple-Strores, and SPARQL
Presentation transcript:

RDF Schema (RDFS) RDF user communities need to define the vocabularies (terms) to indicate that they  are describing specific kinds or classes of resources and  use specific properties in describing those resources Convention:  A class name begins with an uppercase letter  A property name has an initial lowercase letter Cf. Dublin Core and Friend Of A Friend RDF itself has no way to define such application-specific classes and properties  They’re described as an RDF vocabulary, using extensions to RDF provided by RDF Schema (or RDFS)

RDFS provides a type system for RDF Similar in some ways to the type systems of OO programming languages—e.g.:  Resources can be defined as instances of one or more classes  Classes organized in a hierarchical fashion But RDF classes and properties are also very different from programming language types  Their descriptions don’t create a straightjacket into which info is forced  Instead, they provide additional info about RDF resources RDFS facilities themselves are provided in the form of an RDF vocabulary—i.e., as a specialized set of predefined RDF resources with their own special meanings

The resources in the RDFS vocabulary have URIrefs with prefix  Conventionally associated with QName prefix rdfs: Vocabulary descriptions (schemas) written in RDFS are legal RDF graphs  So RDF software not written to process the RDFS vocabulary can still interpret a schema as a legal RDF graph  But won’t understand the built-in meanings of the RDFS terms

Describing Classes A class corresponds to the generic concept of a Type or Category Classes are described using  the RDFS resources rdfs:Class and rdfs:Resource and  the properties rdf:type and rdfs:subClassOf

Example Organization example.org wants to provide info about kinds of motor vehicles First needs a class to represent the category of things that are motor vehicles  The resources belonging to a class are its instances A class is any resource having an rdf:type property whose value is the resource rdfs:Class So the motor vehicle class is described by  assigning the class a URIref, say ex:MotorVehicle using ex: to stand for the prefix for URIrefs from example.org's vocabulary, viz.,  describing that resource with an rdf:type property whose value is the resource rdfs:Class I.e., it would write the RDF statement ex:MotorVehicle rdf:type rdfs:Class.  Property rdf:type indicates that a resource is an instance of a class

Then resource exthings:companyCar is described as a motor vehicle by the RDF statement exthings:companyCar rdf:type ex:MotorVehicle. The resource rdfs:Class itself has an rdf:type of rdfs:Class A resource may be an instance of more than one class

After describing class ex:MotorVehicle, example.org describes additional classes for specialized kinds of motor vehicle: ex:Van rdf:type rdfs:Class. ex:Truck rdf:type rdfs:Class. Etc. That they’re specialized kinds of ex:MotorVehicle is described using the rdfs:subClassOf property—e.g., ex:Van rdfs:subClassOf ex:MotorVehicle.  This means that any instance of class ex:Van is also an instance of class ex:MotorVehicle So, if exthings:companyVan is an instance of ex:Van, then RDF software written to understand the RDFS vocabulary can infer that also exthings:companyVan is also an instance of ex:MotorVehicle

The rdfs:subClassOf property is transitive—e.g., given ex:Van rdfs:subClassOf ex:MotorVehicle. ex:MiniVan rdfs:subClassOf ex:Van. RDFS defines ex:MiniVan as also being a subclass of ex:MotorVehicle A class may be a subclass of more than one class RDFS defines all classes as subclasses of class rdfs:Resource  The instances belonging to all classes are resources RDFS defines both the subjects and objects of statements using rdfs:subClassOf to be resources of type rdfs:Class  So this information could be inferred  But it’s good practice to provide this info explicitly

The class hierarchy discussed ex:MotorVehicle rdf:type rdfs:Class. ex:PassengerVehicle rdf:type rdfs:Class. ex:Van rdf:type rdfs:Class. ex:Truck rdf:type rdfs:Class. ex:MiniVan rdf:type rdfs:Class. ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle. ex:Van rdfs:subClassOf ex:MotorVehicle. ex:Truck rdfs:subClassOf ex:MotorVehicle. ex:MiniVan rdfs:subClassOf ex:Van. ex:MiniVan rdfs:subClassOf ex:PassengerVehicle.

In RDF/XML using typed nodes ]> <rdf:RDF xmlns:rdf=" xmlns:rdfs=" xml:base="

Note the rdf:ID To ensure that references to these schema classes are correct even if the schema is relocated, the class descriptions can also include xml:base="  Use of an explicit xml:base declaration is good practice To refer to these classes in RDF instance data located elsewhere, example.org must identify the classes either  by writing absolute URIrefs, or  by using relative URIrefs together with an appropriate xml:base declaration, or  by using QNames together with an appropriate namespace declaration

E.g., to describe the resource exthings:companyCar as an instance of the class ex:MotorVehicle : <rdf:RDF xmlns:rdf=" xmlns:ex=" xml:base=" The QName ex:MotorVehicle when expanded using the namespace declaration becomes the full URIref  The xml:base declaration is used since a QName can’t be the value of an attribute (here rdf:ID )

Describing Properties In RDFS, properties are described using  the RDF class rdf:Property, and  the RDFS properties rdfs:domain, rdfs:range, and rdfs:subPropertyOf All properties in RDF are instances of class rdf:Property A new property is described by  assigning the property a URIref, and  describing that resource with an rdf:type property whose value is the resource rdf:Property E.g., exterms:weightInKg rdf:type rdf:Property.

RDF Schema provides vocabulary for describing how properties and classes are intended to be used together Most important are RDFS properties rdfs:range and rdfs:domain rdfs:range indicates that the values of a given property are instances of a designated class E.g., example.org wants to indicate that property ex:author has values that are instances of class ex:Person : ex:Person rdf:type rdfs:Class. ex:author rdf:type rdf:Property. ex:author rdfs:range ex:Person.

A property, ex:hasMother, can have 0, 1, or more range properties If it has no range property, nothing is said about the values of ex:hasMother If has 1 range property, e.g., specifying ex:Person as the range, this says that the values of the ex:hasMother property are instances of class ex:Person If it has > 1 range property, e.g., 1 specifying ex:Person as its range, and another specifying ex:Female as its range, this says that the values of the ex:hasMother property are resources that are instances of all of the classes specified as the ranges,  i.e., any value of ex:hasMother is both a ex:Female and a ex:Person

rdfs:range can also be used to indicate that the value of a property is given by a typed literal E.g., to indicate that the ex:age has values from the XML Schema datatype xsd:integer : ex:age rdf:type rdf:Property. ex:age rdfs:range xsd:integer. This URIref can be used without explicitly stating in the schema that it identifies a datatype  But it’s often useful to explicitly state that a given URIref identifies a datatype Use the RDFs class rdfs:Datatype xsd:integer rdf:type rdfs:Datatype.  Not a definition of a datatype (in the sense of defining a new one)

No way to define datatypes in RDFS Datatypes are defined externally to RDF (and to RDFS), and referred to in RDF statements by their URIrefs This statement just documents the existence of the datatype, and indicates explicitly that it’s being used in this schema

rdfs:domain indicates that a given property applies to a designated class E.g., to indicate that property ex:author applies to instances of class ex:Book : ex:Book rdf:type rdfs:Class. ex:author rdf:type rdf:Property. ex:author rdfs:domain ex:Book.

A property, exterms:weight, may have 0, 1, or more domain properties If it has no domain property, nothing is said about the resources that exterms:weight properties may be used with  Any resource could have a exterms:weight property If it has 1 domain property, e.g., specifying ex:Book as the domain, this says that the exterms:weight property applies to instances of class ex:Book If it has > 1 domain properties, e.g., 1 specifying ex:Book as the domain and another specifying ex:MotorVehicle as the domain, this says that any resource that has a exterms:weight property is an instance of all of the classes specified as the domains,  i.e., any resource that has a exterms:weight property is both a ex:Book and a ex:MotorVehicle

Extending the Example Vehicle Schema Add 2 properties:  ex:registeredTo (applies to any ex:MotorVehicle, value is a ex:Person )  ex:rearSeatLegRoom, (for any ex:PassengerVehicle, value is an integer) Add a new class ex:Person Explicitly describe datatype xsd:integer as a datatype

Predefined property rdfs:subPropertyOf denotes the specialization relationship between 2 properties E.g., ex:primaryDriver and ex:driver are properties, the former a specialization of the latter ex:driver rdf:type rdf:Property. ex:primaryDriver rdf:type rdf:Property. ex:primaryDriver rdfs:subPropertyOf ex:driver. The meaning of this rdfs:subPropertyOf relationship: If an instance exstaff:fred is an ex:primaryDriver of the instance ex:companyVan, then exstaff:fred is also an ex:driver of ex:companyVan A property may be a subproperty of 0, 1, or more properties  All rdfs:range and rdfs:domain properties that apply to a property also apply to its subproperties

In RDF/XML:

The Full Example Vehicle Schema ]> <rdf:RDF xmlns:rdf=" xmlns:rdfs=" xml:base="

An Instance of ex:PassengerVehicle ]> <rdf:RDF xmlns:rdf=" xmlns:ex=" xml:base=" 127 Note: ex:PassengerVehicle is a subclass of ex:MotorVehicle  So an ex:registeredTo property can be used in describing this instance of ex:PassengerVehicle

Interpreting RDF Schema Declarations RDF differs from most programming language (PL) type systems in several ways One important difference  A PL class has a collection of specific properties  An RDF schema describes properties as applying to specific classes of resources, using domain and range properties In the PL class description, attribute author is part of the description of class Book  Applies only to instances of class Book  An attribute called author in another class is considered a different attribute

I.e., the scope of an attribute description in PLs is restricted to the class or type in which it is defined But, in RDF, property descriptions are, by default, independent of class definitions  They have, by default, global scope (but may be restricted using domain specifications) A benefit of the RDF property-based approach:  It’s easier to extend the use of property definitions to originally unanticipated cases

Another result of the global scope of RDF property descriptions:  Can’t define a given property as having locally-different ranges depending on the class of the resource it’s applied to E.g., in defining ex:hasParent, we’d like it so humans have human parents, monkeys monkey parents  But, in RDFS, any range defined for a property applies to all uses of the property  Locally-different ranges can be defined in OWL

Another important difference between PL type systems and RDF:  RDF Schema descriptions aren’t necessarily prescriptive like PL type declarations E.g., suppose a PL declares a class Book with an author attribute having values of type Person  This gives a group of constraints  The language won’t allow the an instance of Book without an author attribute an instance of Book with an author attribute that doesn’t have a Person as its value  And, if author is the only attribute for class Book, we can’t have an instance of Book with some other attribute

But RDFS provides schema info as additional descriptions of resources  Doesn’t prescribe how these descriptions should be used by an application E.g., suppose an RDF schema states that an ex:author property has an r dfs:range of class ex:Person  This is just an RDF statement that RDF statements containing ex:author properties have instances of ex:Person as objects

This schema-supplied info might be used in various ways One application might interpret this statement as specifying part of a template for RDF data it’s creating  Ensure that any ex:author property has a ex:Person value  I.e., interpret the schema description as a constraint (as a PL does) Another application might interpret this statement as providing additional info about data it’s receiving— info not explicitly provided in the original data  E.g., suppose it receives some RDF data that includes an ex:author property whose value is a resource of unspecified class  It uses this schema statement to conclude that the resource is an instance of ex:Person

A 3 rd application might use the statement for consistency checking  E.g., suppose it receives some RDF data that includes an ex:author property whose value is a resource of class ex:Corporation  It could warn of a possible inconsistency  But it might not be inconsistent after all E.g., somewhere else there might be a declaration that a corporation is a (legal) person

Depending on how the application interprets the property descriptions, a description of an instance might be considered valid either  without some of the schema-specified properties or  with additional properties RDF schema statements are always descriptions  They may also be prescriptive But only if the application interpreting them wants to treat them so

Other Schema Information See: Dan Brickley and R.V. Guha (eds.), RDF Vocabulary Description Language 1.0: RDF Schema, W3C Recommendation, 2004, rdfs:label is an instance of rdf:Property used to provide a human-readable version of a resource's name  A triple of the form R rdfs:label L states that L is a human readable label for R  rdfs:domain is rdfs:Resource  rdfs:range is rdfs:Literal

rdfs:comment is an instance of rdf:Property used to provide a human-readable description of a resource  A triple of the form: R rdfs:comment L states that L is a human readable description of R  rdfs:domain is rdfs:Resource  rdfs:range is rdfs:Literal

N3 ex:. ex:Car a rdfs:Class. ex:foo a ex:Car ; rdfs:label "My car" ; rdfs:comment "I've owned it since 2002.". In RDF/XML <rdf:RDF xmlns:rdfs=" xmlns:ex=" xmlns:rdf=" My car I've owned it since 2002.

rdfs:Container is a super-class of the RDF Container classes: rdf:Bag, rdf:Seq, rdf:Alt rdfs:ContainerMembershipProperty class has as instances the properties rdf:_1, rdf:_2, rdf:_3,... rdfs:member is an instance of rdf:Property that’s a super- property of all the container membership properties  I.e., each container membership property has an rdfs:subPropertyOf relationship to the property rdfs:member

rdfs:seeAlso is an instance of rdf:Property  Used to indicate a resource that might provide additional info about the subject resource rdfs:isDefinedBy is an instance of rdf:Property  Used to indicate a resource defining the subject resource  May be used to indicate an RDF vocabulary in which a resource is described

N3 ex:. ex:Car a rdfs:Class ; rdfs:isDefinedBy. ex:foo a ex:Car ; rdfs:seeAlso. In RDF/XML <rdf:RDF xmlns:rdfs=" xmlns:ex=" xmlns:rdf="