View
234
Download
0
Category
Tags:
Preview:
Citation preview
RDF and XML tutorial
2
Talk Overview
Semantic Web XMLRDFDAML + OIL ( Time permitting)
3
Problems with current search engines
Current search engines = keywords: high recall, low precision
sensitive to vocabulary
insensitive to implicit content
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
5
So what is the Semantic Web?
The “Semantic Web Wedding Cake”Crash course
XML RDF RDF Schema DAML+OIL (OWL)
6
TBL talk at XML 2000
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:
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?
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.
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.
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
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
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
14
RDF Model Example
http://www.w3.org/TR/REC-rdf-syntax/
“Ora Lassila”
dc:Creator
“1999-02-22”
dc:Date
“W3C”
dc:Publisher
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
“ora.lassila@nokia.com”
p:EMail
p:Name
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, “ora.lassila@nokia.com” }
http://www.w3.org/TR/REC-rdf-syntax/
“Ora Lassila”
dc:Creator
“ora.lassila@nokia.com”
p:EMail
p:Name
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
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
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
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” }
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
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
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
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
?
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
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)
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
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
!
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
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>
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
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>
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>
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
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
Recommended