Presentation from Multiple sources

advertisement
RDF and XML tutorial
Talk Overview
Semantic Web
XML
RDF
DAML + OIL ( Time permitting)
2
Problems with current search
engines
Current search engines = keywords:

high recall, low precision

sensitive to vocabulary

insensitive to implicit content
3
Search engines on the
Semantic Web
concept search instead of keyword search
semantic narrowing/widening of queries
query-answering over >1 document
document transformation operators
4
So what is the Semantic Web?
The “Semantic Web Wedding Cake”
Crash course




XML
RDF
RDF Schema
DAML+OIL (OWL)
5
TBL talk at XML 2000
6
XML: User definable and domain specific markup
HTML:
<H1>Introduction to AI</H1>
<UL> <LI>Teacher: Frank van Harmelen
<LI>Students: 1AI, 1I
<LI>Requirements: none
</UL>
XML:
<course>
<title>Introduction to AI</title>
<teacher>Frank van Harmelen</teacher>
<students>1AI, 1I</students>
<req>none</req>
</course>
7
XML: document = labelled tree
• node = label + attr/values + contents
<course date=“...”>
<title>...</title>
<teacher>...</teacher>
<name>...</name>
<http>...</http>
<students>...</students>
</course>
=
course
title
teacher students
name
http
• XML Schema: grammars for describing
legal trees and datatypes
• So:
why not use XML to represent semantics?
8
Syntax versus Semantics
Syntax: the structure of your data
Semantics: the meaning of your data
Two 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.
9
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.
10
XML: limitations for semantic
markup
XML 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
11
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
12
RDF model
 RDF “statements” consist of
resources (= nodes)
which have properties
which have values (= nodes,strings)
resource
property
= subject
= predicate
= object
value
“http://www.w3.org/TR/REC-rdf-syntax/ has the author Ora Lassila”
http://www.w3.org/TR/REC-rdf-syntax/
author
“Ora Lassila”
13
RDF Model Example
“W3C”
dc:Publisher
http://www.w3.org/TR/REC-rdf-syntax/
dc:Creator
dc:Date
“Ora Lassila”
“1999-02-22”
14
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)
http://www.w3.org/TR/REC-rdf-syntax/
 Example:
dc:Creator
p:Name
“Ora Lassila”
p:EMail
“ora.lassila@nokia.com”
15
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/
dc:Creator
p:Name
“Ora Lassila”
p:EMail
“ora.lassila@nokia.com”
16
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
17
Containers (continued)
http://www.w3.org/TR/REC-rdf-syntax
dc:Creator
rdf:Type
rdf:_1
“Ora Lassila”
rdf:Seq
rdf:_2
“Ralph Swick”
18
Higher-order statements
One 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
19
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
dc:Creator
“Ora Lassila”
dc:Creator
“Library of Congress”
• 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” }
20
Reification
Any statement can be an object
graphs can be nested - reification
NYT
claims
pers05
Author-of
ISBN...
<rdf:Description rdf:about=“#NYT”>
<claims>
<rdf:Description rdf:about=“#pers05”>
<authorOf>ISBN...</authorOf>
</rdf:Description>
</claims>
</rdf:Description>
21
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
Person
domain
subClassOf
subClassOf
Student
domain
hasSuperVisor
type
Frank
hasSuperVisor
range
Researcher
type
Jeen
22
RDF Schema syntax in XML
<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>
23
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
24
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
25
DAML+OIL (by example)
class-def animal
% animals are a class
class-def plant
% plants are a class
subclass-of NOT animal
% that is disjoint from animals
class-def tree
subclass-of plant
% trees are a type of plants
class-def branch
slot-constraint is-part-of
% branches are parts of some tree
has-value tree
max-cardinality 1
class-def defined carnivore
% carnivores are animals
subclass-of animal
slot-constraint eats
% that eat any other animals
value-type animal
class-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)
26
DAML+OIL as RDFS extension
RDF(S)
•
•
•
•
•
•
class-def
subclass-of
slot-def
subslot-of
domain
range
DAML+OIL
• class-expressions
• AND, OR, NOT
• slot-constraints
• has-value, value-type
• cardinality
• slot-properties
• trans, symm
DAML+OIL: Classes
<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>
29
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
30
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>
31
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
32
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>
33
</daml:Class>
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>
34
Restrictions
General


daml:Restriction
daml:onProperty
Number Restrictions



Value and Type
Restrictions



daml:toClass
daml:hasValue
daml:hasClass
daml:cardinality
daml:maxCardinality
daml:minCardinality
Combinations



daml:cardinalityQ
daml:maxCardinalityQ
daml:minCardinalityQ
35
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
36
Download