06.RDF.ppt

advertisement
RDF & RDF Schema
Machine Understandable Metadata for the Web
Semantic Web - Spring 2006
Computer Engineering Department
Sharif University of Technology
Outline
•
•
•
•
Metadata
RDF
RDFS
RDF(S) Tools
2
Semantic Web: Problems
• Too much Web information
– around 1,000,000,000 (1109) resources
– Many different types of resources
• text, images, graphics,
• audio, video, multimedia,
• databases, Web applications, …
3
Semantic Web: Problems (2)
• Information not indexable
– No common “scheme” for doing so
– Short-lived, dynamic resources
– Differing relationships between authors, publishers, info
intermediaries, users
• Each community uses their own approach
4
Semantic Web: Problems (3)
• Information not shareable
– Difficult to share information
– Difficult to share information about information
• no common cataloging schemes
5
Main Issues:
• Metadata
– Information about information
– Structured data about data
• Many types/forms of metadata, dependent on role:
6
Types of Metadata:
Web
Resource
discovery
Document
management
administration
(Intellectual)
property rights
management
Content
ratings (PICS)
Security &
User
authentication
Archival
information /
status
Database / data
schemas
Process
description &
control
Product &
Services
Descriptions
7
Second Issue:
• Language for expressing metadata must be:
–
–
–
–
–
universal
flexible
extensible
simple
modular
extended)
(so all can understand)
(to incorporate different types)
(flexible to custom types)
(to encourage adoption)
(so that schemes can be mixed,
8
RDF
• RDF stands for Resource Description
Framework
• It is a machine understandable metadata
• RDF is graphical formalism ( + XML syntax
+ semantics)
– for representing metadata
– for describing the semantics of information in a
machine- accessible way
9
RDF (cont.)
• RDF is an assertional language intended to be
used to express propositions using precise formal
vocabularies.
• It is intended to provide a basic foundation for more
advanced assertional languages with a similar
purpose
• The overall design goals emphasise generality and
precision in expressing propositions about any
topic, rather than conformity to any particular
processing model
10
RDF in SW Architecture
11
RDF Model
•
•
•
•
•
A model is a collection of statements
Statement := (predicate,subject,object)
Predicate is a resource
Subject is a resource
Object is either a resource or a literal
Subject
Object
Predicate
Statement
12
Example (generated by RDFPic)
13
Example shown in triples view
14
RDF model and natural language
• Subject. In grammar, this is the noun or noun phrase that
is the doer of the action. In the sentence “The company
sells batteries,” the subject is “the company.”
• Predicate. In grammar, this is the part of a sentence that
modifies the subject and includes the verb phrase. In our
sentence, the predicate is the phrase “sells”
• Object. In grammar this is a noun that is acted upon by
the verb. In our sentence, the object is the noun
“batteries.”
15
XML vs. RDF
• RDF is not just an XML dialect.
– XML:
• Has a tree structure data model.
• Only nodes are labeled.
– RDF:
• Has a graph structure data model.
• Both edges (properties) and nodes (subjects/objects) are
labeled.
16
Linking Statements
• The subject of one statement can be the
object of another
• Such collections of statements form a
directed, labeled graph
Ganji
studentOF
departmentOF
Sharif
CE
hasHomePage
http://ce.sharif.edu
17
RDF Graph: ‘anonymous’ nodes
Person
PersonName
Literal
Person12345
person.name
first
value
Jonathan
last
value
Borden
18
Using XPointer to name
Person
PersonName
Literal
Person12345
person.name
first
value
Jonathan
/1/1/1
/1/1
last
/1/1/2
value
Borden
19
How can RDF be implemented
• Usually RDF/XML syntax
• However other notations are possible
– e.g. Notation3:
• Buddy Belden owns a business.
• The business has a Web site accessible at
http://www.c2i2.com/~budstv.
• Buddy is the father of Lynne.
• <#Buddy> <#owns> <#business>.
• <#business> <#has-website>
<http://www.c2i2.com/~budstv>.
• <#Buddy> <#father-of> <#Lynne>.
20
Converting N3 to RDF
• Jena toolkit can do such conversion
21
XML Syntax for RDF
• RDF has an XML syntax that has a specific meaning:
• Every Description element describes a resource
• Every attribute or nested element inside a Description is a
property of that Resource
• We can refer to resources by using URIs
<rdf:Description about="some.uri/person/ganji">
<studentOf resource="some.uri/Sharif/CE"/>
</Description>
<Description about="some.uri/Sharif/CE">
<hasHomePage>http://ce.sharif.edu</hasHomePage>
<departmentOf resource="some.uri/~Sharif"/>
</rdf:Description>
22
RDF type
• RDF predifined property
• Its value – a resource that represent a category or class
• Its subject – Instance of that category or class
prefix ex: URI: http://www.example.org/terms
23
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
• It is also possible to create collections based on
URI patterns
– for example, all files in a particular web site
24
RDF containers
• Bag: (A resource having type rdf:Bag)
– Represents an unordered list of resources or
literals
– Duplicated values are prermitted
• Sequence: (A resource having type rdf:Seq)
– Represents ordered list of resources or literal
– Duplicated values are permitted
• Alternatives: (A resource having type rdf:Alt)
– Represents group of resources or literals that are
alternatives
25
Sequence example
http://www.w3.org/TR/REC-rdf-syntax
dc:Creator
rdf:Type
rdf:_1
“Ora Lassila”
rdf:Seq
rdf:_2
“Ralph Swick”
26
Bag example
27
RDF reification
• association of a statement and a specific resource representing
the statement
• used to make statements about statements
• Vocabulary:
• type rdf:asserts
• properties
• rdf:subject
• rdf:predicate
• rdf:object
28
Reification example
• In N3:
29
Reification example (cont.)
• In RDF:
30
Reification example (cont.)
• RDF Graph (by IsaViz):
31
RDF Schema (RDFS)
• RDF gives a formalism for meta data annotation, and a way
to write it down in XML, but it does not give any special
meaning to vocabulary such as subClassOf or type
– Interpretation is an arbitrary binary relation
• RDF Schema allows you to define vocabulary terms and the
relations between those terms
– it gives “extra meaning” to particular RDF predicates and
resources
– this “extra meaning”, or semantics, specifies how a term should
be interpreted
32
Core Classes & Properties
rdfs:Resource
Core Classes
rdfs:Literal
rdfs:XMLLiteral
rdfs:Class
rdfs:Property
Core Properties
rdfs:Type
rdfs:SubClassOf
rdfs:SubPropertyOf
rdfs:Domain
rdfs:Range
rdfs:Label
rdfs:Comment
33
RDFS Examples
<Person,type,Class>
<hasColleague,type,Property>
<Professor,subClassOf,Person>
<Carole,type,Professor>
<hasColleague,range,Person>
<hasColleague,domain,Person>
34
RDF/RDFS “Liberality”
• No distinction between classes and instances
(individuals)
<Species,type,Class>
<Lion,type,Species>
<Leo,type,Lion>
• Properties can themselves have properties
<hasDaughter,subPropertyOf,hasChild>
<hasDaughter,type,familyProperty>
• No distinction between language constructors and
ontology vocabulary, so constructors can be
applied to themselves/each other
<type,range,Class>
<Property,type,Class>
<type,subPropertyOf,subClassOf>
35
Problems with RDFS
• RDFS too weak to describe resources in sufficient detail
– No localised range and domain constraints
• Can’t say that the range of hasChild is person when applied to
persons and elephant when applied to elephants
– No existence/cardinality constraints
• Can’t say that all instances of person have a mother that is also
a person, or that persons have exactly 2 parents
– No transitive, inverse or symmetrical properties
• Can’t say that isPartOf is a transitive property, that hasPart is
the inverse of isPartOf or that touches is symmetrical
– …
• Difficult to provide reasoning support
– No “native” reasoners for non-standard semantics
– May be possible to reason via FO axiomatisation
36
RDF(S) tools
• Read RDF data
– Parsers: Jena, Redland, SWI-Prolog
– Validators: W3C RDF validation service
– Editors: IsaViz, RDF Author, RDFEd, InferEd
• Store RDF data (XML format, tripples or relational/oo DB)
– Sesame, RSSDB, RDFLib
• Use RDF data (applications, RSS news, etc.)
• Manipulate RDF data (inference, query, etc.)
– Jena RDQL, etc.
– Example:
SELECT ?person, ?knows
WHERE (?x <http://xmlns.com/foap/knows> ?z),
(?x <http://xmlns.com/foap/name> ?person),
(?z <http://xmlns.com/foap/name> ?knows)
37
RDF Validators
• RDF Validation Service
– http://www.w3.org/RDF/Validator/
• In general all the RDF parsers do some kind of
validation
38
References
• RDF Resource Guide:
– http://www.ilrt.bris.ac.uk/discovery/rdf/resources/
• http://www.w3.org/RDF
• http://www.w3.org/RDF/Validator/
• Chapter 5 of the book
39
Download