35
RDF and XML tutorial

RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

Embed Size (px)

Citation preview

Page 1: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

RDF and XML tutorial

Page 2: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

2

Talk Overview

Semantic Web XMLRDFDAML + OIL ( Time permitting)

Page 3: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

3

Problems with current search engines

Current search engines = keywords: high recall, low precision

sensitive to vocabulary

insensitive to implicit content

Page 4: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

4

Search engines on theSemantic Web

concept search instead of keyword

search

semantic narrowing/widening of

queries

query-answering over >1 document

document transformation operators

Page 5: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

5

So what is the Semantic Web?

The “Semantic Web Wedding Cake”Crash course

XML RDF RDF Schema DAML+OIL (OWL)

Page 6: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

6

TBL talk at XML 2000

Page 7: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

7

XML: User definable and domain specific markup

<H1>Introduction to AI</H1><UL> <LI>Teacher: Frank van Harmelen

<LI>Students: 1AI, 1I<LI>Requirements: none

</UL>

<H1>Introduction to AI</H1><UL> <LI>Teacher: Frank van Harmelen

<LI>Students: 1AI, 1I<LI>Requirements: none

</UL>

HTML:

<course><title>Introduction to AI</title><teacher>Frank van Harmelen</teacher><students>1AI, 1I</students><req>none</req>

</course>

<course><title>Introduction to AI</title><teacher>Frank van Harmelen</teacher><students>1AI, 1I</students><req>none</req>

</course>

XML:

Page 8: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

8

XML: document = labelled tree

course

teachertitle students

name http

<course date=“...”><title>...</title><teacher>...</teacher>

<name>...</name><http>...</http>

<students>...</students></course>

=

• XML Schema: grammars for describing legal trees and datatypes

• node = label + attr/values + contents

• So: why not use XML to represent semantics?

Page 9: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

9

Syntax versus Semantics

Syntax: the structure of your data Semantics: the meaning of your dataTwo conditions necessary for

interoperability: Adopt a common syntax: this enables

applications to parse the data. Adopt a means for understanding the

semantics: this enables applications to use the data.

Page 10: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

10

XML and Semantics?

<Predator> …</Predator>

Predator: a medium-altitude, long-endurance unmanned aerial vehicle system.

Predator : one that victimizes, plunders, or destroys, especially for one's own gain.

Predator : an organism that lives by preying on other organisms.

Predator: a company which specializes in camouflage attire.

Page 11: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

11

XML: limitations for semantic markupXML makes no commitment on:

Domain-specific ontological vocabulary Ontological modeling primitives

Requires pre-arranged agreement on &

Only feasible for closed collaboration agents in a small & stable community pages on a small & stable intranet

Not suited for sharing Web-resources

Page 12: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

12

What is RDF ?RDF is a data model

• the model is domain-neutral, application-neutral and ready for internationalization (i18n)

• the model can be viewed as directed, labeled graphs or as an object-oriented model (object/attribute/value)

RDF data model is an abstract, conceptual layer independent of XML

• consequently, XML is a transfer syntax for RDF, not a component of RDF

• RDF data might never occur in XML form

Page 13: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

13

RDF model RDF “statements” consist of

resources (= nodes)which have propertieswhich have values (= nodes,strings)

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

author

= subject= predicate= object

“http://www.w3.org/TR/REC-rdf-syntax/ has the author Ora Lassila”

resource valueproperty

Page 14: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

14

RDF Model Example

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

“1999-02-22”

dc:Date

“W3C”

dc:Publisher

Page 15: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

15

Complex values So far, values of properties have been strings A graph node (corresponding to a resource) also can be the

value of a property arbitrarily complex tree and graph structures are possible syntactically, values can be embedded (i.e. lexically in-

line) or referenced (linked)

Example:http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

[email protected]

p:EMail

p:Name

Page 16: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

16

Complex values (continued) Corresponding triples

{ “http://www.w3.org/TR/PR-rdf-syntax/”, dc:Creator, x }{ x, p:Name, “Ora Lassila” }{ x, p:EMail, “[email protected]” }

http://www.w3.org/TR/REC-rdf-syntax/

“Ora Lassila”

dc:Creator

[email protected]

p:EMail

p:Name

Page 17: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

17

Containers Containers are collections

they allow grouping of resources (or literal values) It is possible to make statements about the container

(as a whole) or about its members individually Different types of containers exist

bag - unordered collection seq - ordered collection (= “sequence”) alt - represents alternatives

It is also possible to create collections based on URI patterns

for example, all files in a particular web site Duplicate values are permitted

there is no mechanism to enforce unique value constraints

Page 18: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

18

Containers (continued)

http://www.w3.org/TR/REC-rdf-syntax

“Ora Lassila”

rdf:_1

rdf:Seq

dc:Creator

rdf:Type

“Ralph Swick”

rdf:_2

Page 19: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

19

Higher-order statementsOne can make RDF statements about

other RDF statements example: “Ralph believes that the web

contains one billion documents”Higher-order statements

allow us to express beliefs (and other modalities)

are important for trust models, digital signatures,etc.

also: metadata about metadata are represented by modeling RDF in RDF itself

Page 20: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

20

Reification RDF is not really second-order But it does provide a built-in predicate vocabulary for

reification

http://www.w3.org/TR/REC-rdf-syntax “Ora Lassila”dc:Creator

“Library of Congress”

dc:Creator

• The dotted box corresponds to the following statements

• { x, rdf:predicate, “dc:creator” }• { x, rdf:subject, “http://www.w3.org/TR/RED-rdf-syntax }• { x, rdf:object, “Ora Lassila” }• { x, rdf:type, “rdf:statement” }

Page 21: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

21

Reification

pers05 ISBN...Author-of

NYT claims

<rdf:Description rdf:about=“#NYT”> <claims> <rdf:Description rdf:about=“#pers05”> <authorOf>ISBN...</authorOf> </rdf:Description> </claims></rdf:Description>

Any statement can be an objectgraphs can be nested - reification

Page 22: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

22

RDF Schema

• Defines small vocabulary for RDF: • Class, subClassOf, type• Property, subPropertyOf• domain, range

• Vocabulary can be used to define other vocabularies for your application domain

Person

Student Researcher

subClassOfsubClassOf

Jeentype

hasSuperVisordomain range

Frank

type

hasSuperVisor

Page 23: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

23

<rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/...#Resource"/></rdf:Description>

<rdf:Description ID="Truck"> <rdf:type resource="http://www.w3.org/...#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/></rdf:Description>

<rdf:Description ID="registeredTo"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/></rdf:Description>

<rdf:Description ID=”ownedBy"> <rdf:type resource="http://www.w3.org/...#Property"/> <rdfs:subPropertyOf rdf:resource="#registeredTo"/></rdf:Description>

RDF Schema syntax in XML

Page 24: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

24

Conclusions about RDF(S)

Next step up from plain XML (small) ontological commitment to

modeling primitives possible to define vocabulary

However: no precisely described meaning no inference model

?

Page 25: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

25

Beyond RDF: OIL & DAML

OIL extends RDF Schema to a fully-fledged knowledge representation language.

logical expressions data-typing cardinality quantifiers http://www.ontoknowledge.org

DAML = US sister of OIL Merged as DAML+OIL in 2001 Becomes OWL W3C standard in March '03

Page 26: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

26

DAML+OIL (by example)class-def animal % animals are a classclass-def plant % plants are a class subclass-of NOT animal % that is disjoint from animalsclass-def tree subclass-of plant % trees are a type of plantsclass-def branch slot-constraint is-part-of % branches are parts of some tree has-value tree max-cardinality 1class-def defined carnivore % carnivores are animals subclass-of animal slot-constraint eats % that eat any other animals value-type animalclass-def defined herbivore % herbivores are animals subclass-of animal, NOT carnivore % that are not carnivores, and slot-constraint eats % they eat plants or parts of plants value-type plant OR (slot-constraint is-part-of has-value plant)

Page 27: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

DAML+OIL as RDFS extension

• class-def• subclass-of• slot-def• subslot-of• domain• range

• class-def• subclass-of• slot-def• subslot-of• domain• range

• class-expressions• AND, OR, NOT

• slot-constraints• has-value, value-type• cardinality

• slot-properties• trans, symm

• class-expressions• AND, OR, NOT

• slot-constraints• has-value, value-type• cardinality

• slot-properties• trans, symm

RDF(S) DAML+OIL

Page 28: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

29

<daml:Class rdf:ID="Male"><rdfs:subClassOf rdf:resource="#Animal"/>

</daml:Class>

<daml:Class rdf:ID="Female"> <rdfs:subClassOf rdf:resource="#Animal"/> <daml:disjointWith rdf:resource="#Male"/>

</daml:Class>

<daml:Class rdf:ID="Man"> <rdfs:subClassOf rdf:resource="#Person"/> <rdfs:subClassOf rdf:resource="#Male"/>

</daml:Class>

DAML+OIL: Classes

!

Page 29: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

30

Class-Building Operations Relation to other Classes

rdfs:subClassOf daml:disjointWith daml:disjointUnionOf daml:sameClassAs daml:equivalentTo

Contained Elements: daml:oneOf

Boolean combinations: daml:intersectionOf daml:unionOf daml:complementOf

Page 30: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

31

DAML+OIL: Properties<daml:ObjectProperty rdf:ID="hasParent">

<rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/>

</daml:ObjectProperty>

<daml:ObjectProperty rdf:ID="hasChild"> <daml:inverseOf

rdf:resource="#hasParent"/> </daml:ObjectProperty>

<daml:UniqueProperty rdf:ID="hasMother"> <rdfs:subPropertyOf

rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Female"/>

</daml:UniqueProperty>

Page 31: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

32

Property-Building Operations Basic Types

daml:ObjectProperty daml:DataTypeProperty

Special Types daml:TransitiveProperty daml:UniqueProperty daml:UnambigousProperty

Further Restrictions rdfs:subPropertyOf rdfs:domain rdfs:range daml:samePropertyAs daml:inverseOf

Page 32: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

33

DAML+OIL:Property Restrictions<daml:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#hasFather"/>

<daml:toClass rdf:resource="#Man"/> </daml:Restriction> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#hasFather"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class>

Page 33: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

34

DAML+OIL:Property Restrictions

<daml:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction daml:cardinalityQ="1"> <daml:onProperty rdf:resource="#hasFather"/>

<daml:hasClassQ rdf:resource="#Man"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class>

Page 34: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

35

Restrictions

General daml:Restriction daml:onProperty

Number Restrictions

daml:cardinality daml:maxCardinality daml:minCardinality

Combinations daml:cardinalityQ daml:maxCardinalityQ daml:minCardinalityQ

Value and Type Restrictions

daml:toClass daml:hasValue daml:hasClass

Page 35: RDF and XML tutorial. 2 Talk Overview Semantic Web XML RDF DAML + OIL ( Time permitting)

36

Resources

homepages.cwi.nl/~lynda/spool/sw-tue-2003.ppt

www.daml.org/meetings/2003/05/SWMU/briefings/ 07_1045_Essential_Building_Blocks.ppt

www.ltg.ed.ac.uk/~ht/ora-rdf-dagstuhl.ppt