Title: Describing Resources on the Web: The Resource Description Framework
1Describing Resources on the Web The Resource
Description Framework
Vassilis ChristophidesDimitris Plexousakis
Computer Science Department, University of
CreteInstitute for Computer Science -
FORTHHeraklion, Crete http//www.ics.forth.gr/pr
oj/isst/RDF
2Introduction to Metadata
3What is the Problem?
- 3.6 million Web sites
- Five hundred million or more addressable pages on
the Web - High consumer expectations conflicting with
primitive tools and mechanisms - Uncertain quality, integrity, trust
4The Information Landscape in the Web-era
- The Web changes relationships among
- authors
- publishers
- information intermediaries and distributors
- users
- Lower barriers to publication
- rapid dissemination of information and ideas
- less advantage to size or centralization
- greatly expanded access
- Manageability is reduced
- resource discovery is chaotic
- organization is haphazard
- preservation is almost non-existent
5The Web Information System vs. Traditional
Libraries
- Search systems are motivated by advertising
- Index coverage is unpredictable and limited (1/3)
- Too much recall, too little precision
- Index spam abound
- Resources (and their names) are volatile
- What about versions, editions, back issues?
- Archiving is presently unsolved
- Authority and quality of service are spotty
- Managing Access Rights is hard
6Metadata Higher Quality Web Information Services
- Traditionally
- metadata has been understood as Data about Data
- help to impose order on chaos
- Example(s)
- a library catalogue contains information
(metadata) about publications (data) - a file system maintains permissions (metadata)
about files (data) - Metadata describes other data
- One applications metadata is another
applications data - Metadata can itself be described by metadata (but
that doesnt make it meta-metadata) - Example
- Price lists (metadata) have expiration dates
metadata about metadata (It is still just
metadata!!)
7Metadata takes Many Forms
resource
document
rights
discovery
administration
management
content
security and
archival
rating
authentication
status
products and
database
process control
services
schemas
or description
8Metadata exists for Almost Anything
- People
- Places
- Objects
- Concepts
- Documents
- Archives
- Databases
9Application Item and Collection Cataloguing
- Describing individual resources
- documents, pages, images, audio files, etc.
- Describing the content of collections
- Web sites, databases, directories, etc.
- Relationships among Resources
- Tables of Content, chapters, images.
- Site Maps
10Application Resource Discovery
- Search engines can better understand the
contents of a particular page - More accurate searches
- Additional information aids precision
- Makes it possible to automate searches because
less manual weeding is needed to process the
search results
11Application Electronic Commerce
Broker
- Metadata can be used to encode information needed
in all stages of electronic commerce - locating seller/buyer product
- searching yellow pages
- agreeing on terms of sale
- prices, terms of payment, contractual information
- transactions
- delivery mechanisms, dates, terms
Market place
Providers/Clients
12Application Intelligent Agents
- Representation and sharing of knowledge
- knowledge exchange
- modeling
- Communication
- user-to-agent, agent-to-agent, agent-to-service
- Resource discovery
- gives web-roaming agents the ability to
understand their environment
13Application Content Rating
- Empowering users to select which kinds of web
content they wish to see - Child Protection
- W3C PICS (Platform for Internet Content
Selection) working group - US Communications Decency Act of 1996
- simple metadata architecture
- precursor to RDF
14Application Digital Signatures
- These are key to building the Web of Trust
- Required by
- agents
- electronic commerce
- collaboration
- RDF will become the preferred way to encode
digital signatures on documents and on statements
about documents
15Other Applications
- Privacy Preferences and Policies
- describing a users willingness/ reluctance to
disclose information about him/her-self - describing a site administrators desire to
gather information about visiting users - Intellectual Property Rights
- contractual terms related to usage and
distribution rights to a document
16(Meta)Data Transmission Methods
17Metadata Assertions
- The Web is machine-readable but not
machine-understandable - Metadata is useful
- A lot could be gained from structured description
of pages, servers, search services, and other
resources - Accommodate multiple varieties of metadata
- Metadata requirements will evolve
18A Plethora of Metadata Standards
- Many metadata standards have evolved at different
levels, and to meet different requirements...
MICI
19Interoperability Issues
Lets talk English
Standardisation ofcontent
cat milk sat drank mat
SemanticInteroperability
Heres how to make a sentence
Cat sat on mat. Drankmilk.
Standardisation ofform
StructuralInteroperability
These are the rulesof grammar
The cat sat on the mat.It drank some milk.
SyntacticInteroperability
Standardisation ofexpression
20Metadata Challenges
- Many flavours of metadata
- which one do I use?
- Managing change
- new varieties, and evolution of existing forms
- Tension between functionality and simplicity,
extensibility and interoperability
21Towards Metadata for Community Webs
- Group of people sharing a domain of discourse and
a set of resources (e.g., data, documents,
services) and having some common interests - Commerce, Education, Health
- Provide community-specific metadata functionality
in order to create, administrate, and access
resources - common semantic, structural, and syntactic
conventions for exchange of resource description
information
Community Webs
Workplace
Education
Commerce
Health
22Metadata Interoperability in Community Webs
- Communities of expertise (not software vendors)
are responsible for - Semantics
- Registration
- Administration
- Access management
- Authority of data
- Sharing and Distribution
23Metadata Implementation Approaches
- Harvesting metadata into a repository (database)
- Distributed Database Search
24Harvesting Metadata into a Repository (database)
25Distributed Database Search
26Understanding RDF
RDF
27RDF origins
- W3C Metadata Activity 1997-2000
- PICS (Internet content selection)
- Warwick Framework / Dublin Core
- XML (XML Data, Channels etc)
- MCF (Apple, Netscape)
- URI specification for Web identifiers
28RDF Objectives
- Enables resource description communities to
define their own semantics - We can disagree about semantics, but share
infrastructure (syntax, query, editors) - Imposes structural constraints on the expression
of various application metadata - for consistent encoding, exchange and processing
of metadata on the Web - Metadata vocabularies can be developed without
central coordination - Fine-grained mixing of diverse metadata
- Signed RDF is the basis for trust
- XML used for serialisation syntax
29Describing Community Resources using RDF
30The Basic RDF Data Model
- RDF Resource Descriptions
- Data Model Directed Labeled Graphs
- Nodes Resources (URIs) or Literals
- Edges Properties Attributes or Relationships
- Statement assertion of the form resource,
property, value - Description set of statements concerning a
resource - XML syntax
31The Basic RDF Data Model Primitives
Resource
Property
Value
32Simple Example
URITutorial
Author
Vassilis
33The notion of Resource
- A resource is identified by a URI
- absoluteURI relativeURI fragment-id
- The resource identified by a URI may be abstract
- i.e. not network retrievable
- Resource is distinct from entity resolved at any
particular time - http//www.ics.forth.gr/RDF/
- From RFC 2396
- Resource A resource can be anything that has
identity. Familiar examples include an electronic
document, an image, a service (e.g., "today's
weather report for Los Angeles"), and a
collection of other resources. Not all resources
are network "retrievable" e.g., human beings,
corporations, and bound books in a library can
also be considered resources. The resource is the
conceptual mapping to an entity or set of
entities, not necessarily the entity which
corresponds to that mapping at any particular
instance in time. Thus, a resource can remain
constant even when its content---the entities to
which it currently corresponds---changes over
time, provided that the conceptual mapping is not
changed in the process.
34RDF Syntax
- RDF Model defines a formal relationships among
resources, properties and values - Syntax is required to...
- Store instances of the model into files
- Communicate files from one application to another
- W3C XML eXtensible Markup Language
lttag1gt lttag2gt lttag3gt lt/tag1gt
35RDF Model Example Complex Values
URITutorial
Title
RDF Presentation
Creator
Vassilis Christophides
ltRDF xmlns http//www.w3.org/TR/WD-rdf-syntax
xmlnsdc http//purl.org/dc/element
s/1.0/gt ltDescription about URITutorialgt
ltdcTitlegt RDF Presentation lt/dcTitlegt
ltdcCreatorgt Vassilis Christophides
lt/dcCreatorgt lt/Descriptiongt lt/RDFgt
36RDF Syntax Example Complex Values
ltRDF xmlns http//www.w3.org/TR/WD-rdf-syntax
xmlnsdc http//purl.org/dc/element
s/1.0/ xmlnsbib http//www.bib.org
/personsgt ltDescription about
URITutorialgt ltdcTitlegt RDF Presentation
lt/dcTitlegt ltdcCreatorgt
ltDescriptiongt ltbibNamegt Vassilis
Christophides lt/bibNamegt ltbibEmailgt
christop_at_ics.forth.gr lt/bibEmailgt
ltbibAff resource http//www.ics.forth.gr /gt
lt/Descriptiongt lt/dcCreatorgt
lt/Descriptiongt lt/RDFgt
ltDescription bibName Vassilis
Christophides bibEmail christop_at_ics.forth.g
r gt ltbibAff resource http//www.ics.forth.g
r /gt lt/Descriptiongt
37RDF Model Example
38Where do you stop?
- The Basic RDF model syntax provides enabling
technology - Degree of metadata simplicity/complexity is a
matter of - Resource description communities needs,
best-practice and experience - Organization/Institutions Policy
- Economics
- Goals and requirements of implementation
39The Basic RDF Data Model In Brief
40One Additional Concept Container Values
- 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
- Bags -- groups of things
- Sequences -- ordered group of things
- Alternates -- Alternate things/values
- First value is the default
- Must be at least one
- Duplicate values are permitted
- there is no mechanism to enforce unique value
constraints - Syntactic shorthand provided (much like HTML
lists)
41Containers (continued)
URITutorial
dcCreator
rdfType
rdfSeq
rdf_1
rdf_2
Vassilis Christophides
Dimitris Plexousakis
42Containers (continued)
URITutorial
dcCreator
dcCreator
Vassilis Christophides
Dimitris Plexousakis
43The Basic RDF Data Model Formal Aspects
- Statement (predicate,subject,object)
- Predicate is a resource
- Subject is a resource
- Object is either a resource or a literal
- Object Predicate(Subject)
- A model is a set of statements
- Formal model based on triples (Universal
relation) - Example
- author, http//www.ics.forth.gr/proj/isst/RDF,
node - name, node, Vassilis Christophides
- email, node, christop_at_ics.forth.gr
44Triples for Container Values Example
- Triples from the first example
- http//www.ics.forth.gr/proj/isst/RDF,dcCreato
r,x - x, rdf_1, Vassilis Christophides
- x, rdf_2, Dimitris Plexousakis
- x, rdftype, rdfSeq
- Triples from the second example
- http//www.ics.forth.gr/proj/isst/RDF,dcCreato
r, Vassilis Christophides - http//www.w3.org/TR/REC-rdf-syntax,
dcCreator, Dimitris Plexousakis
45Edge Labeled Directed Graphs (RDF)
Vassilis
creator
affiliation
RDFTutorial
ICS-FORTH
projects
activities
ISL
C-Web
(creator, RDFTutorial, Vassilis) (affiliation,
Vassilis, ICS-FORTH) (activities, ICS-FORTH,
ISL) (projects, ICS-FORTH, C-Web)
46Node labeled Directed Graph (XML)
root
x
element
element
2
attribute
foo
bar
element
attribute
attribute
attribute
baz
href
x
y
attribute
1
3
z
ltrootgt ltfoo href x1 /gt ltbar x2
y3gt ltbaz zaaa/gt lt/bargt
aaa
47What can we Express in RDF?
- RDF relies on a (edge labeled) directed graph
model that can easily - extended by just adding more edges
- combine multiple vocabularies, distinguished by
their URIs - RDF provides a standard syntax to represent these
graphs in XML - RDF Model can be thought of as a simplified XML
Infoset - But RDF goes beyond XML syntactic issues
- It allows to define semantic networks on the Web
48Semantic Networks
name
Person
String
lives in
isa
creates
Artist
Artifact
isa
isa
isa
isa
Painter
Sculptor
Sculpture
Painting
isa
paints
sculpts
a Person has a name and lives_in somewhere .
Artists are persons, painters and sculptors are
artists. An artist creates artifacts, (paintings
or sculptures) a painter paints paintings and a
sculptor sculpts sculptures
49RDF Schema Definition RDFS
- Declaration of label vocabularies for description
graph nodes edges - Enables communities to share machine readable
tokens and define human readable labels - Node labels (types) are defined as classes
- Literal data types as defined by XML Schemas WG
- Resource may have a specific type property
- Edge labels (predicates) are defined as
properties of these classes - A resource of given type may have a given
property (domain constraint) - A resource of given type may be the value of a
given predicate (range constraint) - RDFS vocabularies expressible in the basic RDF
model and syntax - RDFS vocabularies are also Web resources (and
have URIs) and therefore can be described using
RDF
50Constructing and Using RDF schemas
- RDFS Schema Vocabularies allows for
- Specialization of both classes properties
(simple multiple) - Multiple classification of resources under
several classes - Unordered, optional, and multi-valued properties
- Domain and range polymorphism of properties
51A Cultural Community Resource Description Example
Portal Schema
Portal Resource Descriptions
r2 museoreinasofia.mcu.es/ guernica.jpg
r1www.rodin.fr/ thinker.gif
r4museoreinasofia.mcu.es
r3www.artchive.com/ woman.jpg
Web Resources
52RDF/XML Serialization Data
ltrdfRDF xmllang"en" xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/TR/2000/PR-rdf-schem
a-20000327" xmlns""gt ltPainter
rdfidpicasso132"gt ltfnamegtPablolt/fnamegt
ltlnamegtPicassolt/lnamegt ltpaintsgt
ltPainting rdfabout"http//museoreinasofia.mcu.es
/guernica.gif"gt ltexhibitedgt
ltMuseum rdfabout"http//museoreinasofia.mcu.es"/
gt lt/exhibited gt
lttechniquegtoil on canvaslt/techniquegt
lt/Paintinggt lt/paintsgt ltpaintsgt
ltPainting rdfabout"http//www.artchive.com/woman
.jpg/gt lt/paintsgt lt/Paintergt ltExtResource
rdfabout"http//museoreinasofia.mcu.es"gt
lttitlegtReina Sophia Museumlt/title gt
ltlastmodifiedgt2000/06/09lt/lastmodifiedgt lt/ExtResou
rcegt ltSculptor rdfid"rodin424" lname"Rodingt
ltcreatesgt ltSculpture
rdfabout"http//www.rodin.fr/thinker.gif"/gt
lt/createsgt lt/Sculptorgt lt/rdfRDFgt
53RDF/XML Serialization Schema
ltrdfRDF xmllang"en" xmlnsrdf"http//w
ww.w3.org/1999/02/ 22-rdf-syntax-ns"
xmlnsrdfs"http//www.w3.org/TR/2000/
PR-rdf-schema-20000327"gt ltrdfsClass
rdfID"Artist"/gt ltrdfsClass rdfID"Artifact"/gt
ltrdfsClass rdfID"Style"/gt ltrdfsClass
rdfIDMuseum"gt ltrdfsClass rdfID"Sculptor"gt
ltrdfssubClassOf rdfresource"Artist"/gt
lt/rdfsClassgt ltrdfsClass rdfID"Painter"gt
ltrdfssubClassOf rdfresource"Artist"/gt
lt/rdfsClassgt ltrdfsClass rdfID"Sculpture"gt
ltrdfssubClassOf rdfresource"Artifact"/gt
lt/rdfsClassgt ltrdfsClass rdfID"Painting"gt
ltrdfssubClassOf rdfresource"Artifact"/gt
lt/rdfsClassgt ltrdfProperty rdfID"creates"gt
ltrdfsdomain rdfresource"Artist"/gt
ltrdfsrange rdfresource"Artifact"/gt
lt/rdfPropertygt
ltrdfProperty rdfID"paints"gt ltrdfsdomain
rdfresource"Painter"/gt ltrdfsrange
rdfresource"Painting"/gt
ltrdfssubPropertyOf rdfresource"creates"/gt
lt/rdfPropertygt ltrdfProperty rdfID"sculpts"gt
ltrdfsdomain rdfresource"Sculptor"/gt
ltrdfsrange rdfresource"Sculpture"/gt
ltrdfssubPropertyOf rdfresource"creates"/gt
lt/rdfPropertygt ltrdfProperty rdfIDexhibited"gt
ltrdfsdomain rdfresource"Painting"/gt
ltrdfsrange rdfresourceMuseum"/gt lt/rdfProp
ertygt ltrdfProperty rdfID" technique"gt
ltrdfsdomain rdfresource"Painting"/gt
ltrdfsrange rdfresource"http//www.w3.org/
TR/1999/PR-rdf-schema-19990303Literal"/gt lt/rdfPr
opertygt ltrdfProperty rdfID"title"gt
ltrdfsdomain rdfresource"ExtResource"/gt
ltrdfsrange rdfresource "http//www.w3.org/
TR/1999/PR-rdf-schema-19990303Literal"/gt lt/rdfPr
opertygt . lt/rdfRDFgt
54RDF/S vs. Well-Known Formalisms
- Relational or Object Database Models (ODMG, SQL)
- Classes dont define table or object types
- Instances may have associated quite different
properties - Collections with heterogeneous members
- Semistructured or XML Data Models (OEM, UnQL,
YAT, XML Schema) - Schema labels on both nodes and edges
- Class and property subsumption is not captured
- Heterogeneous structures reminiscent to SGML
exceptions - Knowledge Representation Languages (Telos, DL,
F-Logic) - Absence of complex values and n-ary
relationships (bags, sequences)
55A Formal Data Model for RDF
- ?(?,lt) is a well-defined hierarchy of
classes/properties iff - c ? C gt c lt Class
- p ? P gt p lt Property
- p1,p2 ? P and p1 lt p2 gt domain(p1) ? domain(p2)
and range(p1) ? range(p2) - Type System
- ? ?L ?U ? ? (1? 2? n?)
- Interpretation Function
- Literal types, ?L dom(?L)
- Bag types, ? ?1, ?2,, ?n, ?1, ?2,,
?n ? V are values of type ? - Seq types, ? ?1, ?2,, ?n, ?1, ?2,,
?n ? V are values of type ? - Alt types, (1?1 2?2 n?n ) ?I, ?i
? V, 1ltiltn is a value of type ?i - c ? C, c ? ? ? ?(c)??(c) c lt c
- p ? P, p ?1, ?2 ?1 ? domain(p), ?1
? range(p)??(p) p lt p
56A Formal Data Model for RDF
- An RDF schema is a 5-tuple RS (VS, ES, H, ?,
?) - VS a set of nodes
- ES a set of edges
- ? (?,lt) a well-formed hierarchy of names
- ? an incidence function Es ? Vs?Vs
- ? a labeling function VS ? ES ?? ??
- An RDF description base, instance of a schema RS,
is a 5-tuple RD (VD, ED, ?, ?, ?) - VD a set of nodes
- ED a set of edges
- ? an incidence function ED ? VD?VD
- ? a valuation function VD ? V
- ? a labeling function VD ? ED ?2???
- ? u ? VD, ? ? n ? C?T ?(u) ?n
- ? e ? ED u,u, ? ? p
57A Formal Data Model for RDF
H
Property
Class
lt
lt
?
N
?
?
?L
?
?C
T
?P
?
?
.
.
V
val,val
U
val
?
?
URI
?
S
resources
containers
literals
58Some RDF Applications
- Web Browsers
- Netscape 6 from Netscape/AOL uses RDF to
integrate various data-oriented applications such
as bookmarks, mail/news, channels, etc. as well
as for smart browsing and related links (RDF
annotation services) - Amaya Editor/Browser from W3C uses RDF to support
user annotations on Web pages as metadata - Brokers/Portals
- RSS (RDF Site Summary) XML/RDF Specification 1.0
2000 - Web Service Description Language (WSDL) XML/RDF
Specification 2000 - PICS Rating Vocabularies in XML/RDF W3C NOTE 27
March 2000 - Platform for Privacy Preferences and RDF/RDF W3C
Draft 10 May 2000 - Content Management
- OCLC Dublin Core Elements in RDF
- ICOM-CIDOC Conceptual Reference Model in RDF
- The Wordnet Lexical Ontology in RDF
- European Treasury Browser in RDF
59Example Annotation Recommendation Services
60Practical notes on RDF
- Authoring/Visualization
- by hand (experts only, perhaps copy paste)
- support by other tools (editors like Stanford
Protégé) - conversion from existing data stores (using XSLT)
- visualize RDF graphs (using Rudolf RDFViz)
- Parsing/Validating
- ICS-FORTH Validating RDF Parser (VRP)
- Rapier RDF Parser
- W3C Simple RDF Parser Compiler (SiRPAC)
- Storing/Querying
- ICS-FORTH RSSDB/RQL
- Aidministrator Sesame
- Redland Squish
- R.V.Guha RDFdb
- Harvesting/Crawling
- AIFB RDF Crawling
61ICS-FORTH RDF RD Activities (http//www.ics.forth
.gr/proj/isst/RDF)
62The ICS-FORTH RDFSuite
- The Validating RDF Parser (VRP) Karsten Tolle
Diploma Thesis - The first RDF Parser supporting semantic
validation of both resource descriptions and
schemas - The RDF Schema Specific DataBase (RSSDB) Sophia
Alexaki M.Sc. Thesis - The first RDF Store using schema knowledge to
automatically generate an Object-Relational
(SQL3) representation of RDF metadata and load
resource descriptions - The RDF Query Language (RQL) Greg Karvournarakis
M.Sc. Thesis - The first Declarative Language for uniformly
querying RDF schemas and resource descriptions
63The ICS-FORTH RDFSuite Architecture
64The Validating RDF Parser (VRP)
- The VRP parser checks only if an RDF file is
well-formed according to the RDF M S Spec - The VRP validator checks if the model (i.e.
triples) generated by the parser satisfies the
constrains imposed by the RDF Schema Spec
65VRP Constraints (Schema)
- Class, Property and Type names are mutually
exlusive - C ? P ? T ?
- Literal, Resources and Container values are
mutually exclusive - L ? U ? V/U, L ?
- ? c, c? ? C
- Class is the root of class hierarchy
- c lt Class
- subClassOf relation is transitive
- c lt c?, c?lt c? ? ? c lt c? ?
- subClassOf relation is antisymmetric
- c lt c? ? c ? c?
- Domain and range of properties should be defined
and they should be unique - ?p ? P, ?!c1 ? C (c1 domain(p))
? ?!c2 ?C ? TL (c2range(p))
- ? p, p?, p?? ? P
- Property is the root of property hierarchy
- p lt Property
- subPropertyOf relation is transitive
- plt p?, p?lt p? ? ? plt p? ?
- subPropertyOf relation is antisymmetric
- p lt p? ? p ? p?
- If p is subPropertyOf of p? then domain of p is
subset of domain of p? and range of p is subset
of range of p? - p lt p ?? domain(p) ? domain(p?) ?
range(p) ? range(p?) - A reified statement should have exactly one
rdfpredicate, rdfsubject and rdfobject property
66VRP Constraints (Data)
- For all values ?u ? V
- If u is a URI then it is an instance of one or
more Classes - u ? U ? ?(u) ? C
- If u is a literal then it an instance of one
and only one Literal type - u ? L ? ?(u) ? TL
- If u is a container then it an instance of one
and only one Container type - u ? V/U, L ? ?(u) ? TB S A
- For all properties ?p ? P, u1,u2 ? p
- if p belongs to the set 1, 2, 3 then u1 is an
instance of either rdfBag or rdfSeq or rdfAlt - if p ?1, 2, 3? ?(u1)?TB S A
- if p doesnt belong to 1, 2, 3, then u1
belongs to the domain of p and u2 belongs to
the range of p - if p ? P/1, 2, 3 ? ?(u1) ? domain(p) ? ?(u2)
? range(p)
67The RDF to DBMS Loader
Extended VRP Validator
RDF Model
P1
Persistent Namespace (DBMS)
Additional Constraints
C2
C1
store()
P1
r1
r2
RDF Querying APIs
- RDF_Statement
- rdfpredicate
- rdfsubject
- rdfobject
-
- RDF_Property
- rdfsdomain
- rdfsrange
- rdfssubPropertyOf
- link_list
-
store()
store()
RDF Loading APIs
DBMS
r1
68RSSDB Representation of RDF metadata
Class
Property
id
nsid
lpart
nsid
lpart
domainid
rangeid
id
14
4
title
10
1
10
DataResource
15
11
2
ExternalPage
2
title
11
1
3
12
Arts
SubClass
3
13
Art_History
SubProperty
subid
superid
11
10
subid
superid
12
10
15
14
13
12
69The RDF Query Language (RQL)
- Declarative query language for RDF description
bases - relies on a typed data model (literal container
types union types) - follows a functional approach (basic queries and
filters) - adapts the functionality of semistructured or XML
query languages to RDF, but also - treats properties as self-existent individuals
- exploits taxonomies of node and edge labels
- allows querying of schemas as semistructured data
- Relational interpretation of schemas resource
descriptions - Classes (unary relations)
- Properties (binary relations)
- Containers (n-ary relations)
70Browsing Portal Catalogs with RQL
- Simple set queries on class and property extents
- Find the resources in the extent of the property
creates - creates
- www.portal.gr/rodin424, www.rodin.fr/thinker.
gif, - www.portal.gr/picasso132,
museoreinasofia.mcu.es/guernica.gif, - www.portal.gr/picasso132,
www.artchive.com/woman.jpg - Find the resources of type painter and sculptor
- ExtResource intersect Sculpture
- www.rodin.fr/thinker.gif
- Schema constructs used as query terms support
for automatic query expansion (similar to
thesauri-based IRS) - Useful to query resources with minimal schema
knowledge
Includes paints sculpts
Multiply classified resources
71Personalizing Portal Catalogs with RQL
- Navigational queries on semistructured resource
descriptions - Find the Museum resources that have been modified
in year 2000. - select x
- from Museumx.last_modifiedy
- where y gt 2000/01/01
- museoreinasofia.mcu.es
- Similar functionality to semistructured or XML
query languages (Lorel, UnQL, XQL, XML-QL,
XML-GL) - Useful in the absence of schema information or
when multiple schemas are used to describe
resources
Data paths not foreseen in the schema
72Querying Portal Catalogs with Large Schemas
- Filtering both resource descriptions and schemas
- Find the paintings having as technique oil on
canvas that have been created by a
neo-impressionist painter - select y
- from XcreatesyPainting.techniquez
- where X lt neo-impressionist and z oil on
canvas
Data filtering with schema information
Schema Filtering on Class hierarchies
73Querying Portal Schemas with RQL
- Pure schema queries
- Find the properties which specialize the property
creates and may have as domain the class Painter
along with their corresponding range classes - select _at_P, Y
- from Painter_at_PY
- where _at_P lt creates
- creates, Artifact,
- creates, Painting,
- creates, Sculpture,
- paints, Painting
All Properties defined or inherited in class
Painter
Schema filtering on property hierarchies
74RQL Examples
- Similar functionality to DBMS schema QLs
(SchemaSQL, XSQL) - Useful for large schemas (integrating ontologies
and thesauri)
75Putting it all Together
- Nested schema and data queries
- Find the resources modified after 2000/01/01
which can be reached by a property applied to the
class Painting and its subclasses - select R, y
- from (select _at_P
- from X_at_P
- where X lt Painting)R.ylast_modif
iedz - where z gt 2000/01/01
- exhibited, museoreinasofia.mcu.es
- Subcommunities may use different schemas while
sharing the same description base
R ranges over the labels of type property
76RQLExamples
Portal Schema
Portal Resource Descriptions
77Putting it all Together
- Schema and data queries
- Find all metadata about the resources of the site
museoreinasofia.mcu.es - select x,Y,P,z,W
- from xYPzW
- where x like museoreinasofia.mcu.es or
- y like museoreinasofia.mcu.es
- www.portal.gr/picasso132, Painter, paints,
museoreinasofia.mcu.es/guernica.gif, Painting, - museoreinasofia.mcu.es/guernica.gif,
Painting, exhibited, museoreinasofia.mcu.es,
Museum, - museoreinasofia.mcu.es/guernica.gif,
Painting, technique, oil on canvas, string, - museoreinasofia.mcu.es, ExtResource, title,
Reina Sophia Museum, string, - museoreinasofia.mcu.es, ExtResource,
last_modified, 2000/06/09, date, . - Subcommunities may use both different schemas and
description bases
URLs pattern matching
78RQL Query Processing
select y from xcreatesyPainting.has_material
z where z oil on canvas
select y from creates A, has_material B, D C
define x A.source, y A.target, w B.source,
z B.target, R range(creates), D
subclassOf(R), E (C) where z oil on
canvas and y w and C Painting and y in E
79RQL Query Optimization
select X.target from creates X, has_material Y,
Painting P where X.target Y.source and X.target
P.uri and Y.target oil on canvas
80The RQL Query Interpreter
Syntax analysis
Query string
- Syntactical analysis (lex/yacc)
- CNF transformation
(1)
Type inference
Syntax tree under CNF
- Checks type compatibility
- Sets appropriate evaluation functions
(2)
Query string
(3)
Main
Graph construction
Query result
(4)
- Evaluation of dependencies
- Factorization functions
Query graph
Typing
DBMS RDF Query APIs
(5)
Query graph
Evaluator
Evaluation
(6)
- Defines evaluation functions
- Query Processing
Result
DBMS
81RDFSuite Summary
- RDFSuite addresses the needs of effective RDF
metadata management by providing tools for
validation, storage and querying - validation follows a formal data model and
constraints enforcing consistency of RDF schemas - incremental loading of voluminous description
bases in a persistent store - declarative query language for schema and data
querying - Ongoing efforts
- RQL query optimization
- transactional aspects
- alternative encoding and representation schemes
for access optimization
82Acknowledgements
- Funding was generously provided by the projects
- C-WEB (IST-1999-13479) A Generic Platform
Supporting Community Webs - MESMUSES (IST-2000-26074) Metaphor for Science
Museums
83Thank you
Hvala
Danke
Merci
Gracias
Grazie