Title: A View Definition Language for the Semantic Web
1A View Definition Language for the Semantic Web
2The Semantic Web
- The Community Webs
- Groups of people sharing a domain of discourse
and a set of information resources (e.g.,
documents, data, images etc) - Use of the Web as a medium to exchange
information and knowledge
- The objectives
- To facilitate the reuse and integration of
information resources by machines over the Web
3and why bother with views on Semantic Web?
- For the good old reasons
- from the relational world
- Data Independence
- Personalization (end user, developer,
application..) - Data Protection Mechanism- Access Restrictions
- Integrity Constraints Verification
- from the object-oriented world
- Integration of Heterogeneous Databases
- Versioning/ Schema Evolution
- from the semistructured and XML world
- Structuring schema-less data
- Publishing Relational Databases for the Web
4and why bother with views on Semantic Web?
- and for new ones!
- Web Resource Personalization
- Subjective ontologies
- Personalized navigation maps
- Smart bookmarks
- Mediation of heterogeneous web resources
- Translation of structures between different
schemas - Ontology management
- Modularity
- Versioning
- Evolution
5Resource Description Framework/Schema
- A standard representation language for resource
description and domain modeling - Humanly readable/ machine understandable syntax
- Interpreted within or across communities using
extensible descriptive schemas - Communities can define their own semantics and
share the same infrastructure for consistent
encoding, exchange and processing of resource
descriptions
6Resource Description Framework/Schema
- RDF Resource Descriptions
- Data Model Directed Label Graph
- RDFS Schema Vocabularies
- Abstraction Mechanisms
- (multiple)class/property specialization
- (multiple) classification of resources
- Restriction Mechanisms
- domain and range restriction
- Documentation Facilities
- label, comment, seeAlso, isDefinedBy
- Global identifiers for schema labels allow their
reuse across different data sources
7A Formal Data Model for RDF/S
8On Designing a View Language
- Must take into account
- The underlying data model
- An object-oriented approach adapted to
semistructured data - Class and Properties are first-class citizens
- Must take advantage of
- The RQL functional query language
- To allow for functional composition of operations
- The underlying type system
- To ensure the validity of operations
- To infer the type of view constructs
- to output
- A well defined virtual RDF/S schema that can be
reused by others
9The View Definition Process
10RDF/S views Target Functionality
Input
Output
Basic RDF/S namespaces New classes/properties Formulation of hierarchies Top-down (specialization) Bottom-up (generalization)
Reuse Class/Property DAG Filter/Restructure a hierarchy
Customized population of classes and properties Transformations Instance ? Schema Schema ? Metaschema
Combination of above Combination of above
11Proposed View Definition Language- RVL
- Integrates in a uniform way the functionality
needed, while taking into account the
peculiarities of the underlying data model - Instantiation Operator
- Create virtual (meta)classes and properties
- Populate virtual (meta)classes and properties
- Change the semantic level of a base element
- Subsumption operator
- Create hierarchies of virtual (meta)classes and
properties - Filter and reorganize base hierarchies of
(meta)classes and properties
12Declaring an RDF/S View
VIEW operator FROM RQL_path_expression
WHERE filtering_conditions USING NAMESPACE
root_schema_namespace USING
NAMESPACE root_schema_namespace CREATE NAMESPACE
RVL_view_namespace
- Everything defined in the view is identified by
the namespace of the view - Everything reused by a root schema is identified
by the namespace of the view
13Instantiation Operator
- General Syntax for (meta)classes
- VIEW Symbol(Symbol)
- FROM RQL_path_expression
- WHERE filtering_conditions
- USING NAMESPACE ns1URI, ..
- General Syntax for properties
- VIEW Symbol(Symbol, Symbol, Symbol)
- FROM RQL_path_expression
- WHERE filtering_conditions
- USING NAMESPACE ns1URI, ..
- where SymbolConstantVariable
- Constraint Unique name assumption
14Instantiation Operator (2)
creates metaclasses
creates classes properties
creates instances
15Instantiation Operator (3)
- Define a virtual metaclass of classes
- VIEW rvlMetaClass(MyMetaClass)
- Define a virtual metaclass of properties
- VIEW rvlMetaProperty(MyMetaProperty)
- Define a virtual class
- VIEW rdfsClass(MyClass1)
- Define a virtual property
- VIEW rdfProperty(P1,MyClass1,MyClass2)
- Populate a virtual class
- VIEW MyClass1(Resource1)
- Populate a virtual property
- VIEW P1(Resource1,Resource2)
16Instantiation Operator (4)
- Reuse and rename a set of root classes
- VIEW Class(Greek_X)
- FROM subClassOf(ns1Artist,2)X
- USING ns1www.art.com/schema.rdf
- ?Greek_Sculptor, Greek_ Painter, Greek_
Cubist, Greek_ Flemish - Reuse a set of root properties
- VIEW Property(_at_P,Class(Creator),range(_at_P))
- FROM Artist_at_P
- ?Creator, last_name, xmlstring, Creator,
first_name, xmlstring, - Creator, creates, Artifact
17Instantiation Operator (5)
- Populate a virtual class
- VIEW PicassoWorksInOil(Y)
- FROM ns1ArtistX.paintsY.techniqueZ,
- Xlast_nameW
- WHERE W like Picasso and Z like oil
- USING ns1www.art.com/schema.rdf
-
- Populate a virtual property
- VIEW last_modified(X,2002-11-15)
- FROM ns1MuseumX.ns2last_modifiedY
- WHERE Ygt2000-01-01
- USING ns1URI1,ns2URI
18Subsumption Operator
- General Syntax
- VIEW SymbolltSymbolgt
- FROM RQL_path_expression
- WHERE filtering_conditions
- USING NAMESPACE ns1URI, ..
- Constraints
- Acyclic hierarchies
- Compatibility in terms of subsumption for domain
and range of properties in property hierarchies
19Subsumption Operator (2)
- Relate two virtual classes with subsumption
- VIEW PersonltArtistgt
- Create subclasses for a virtual class
- VIEW Museum_ArtifactltXgt
- FROM subClassof(ns1Artifact)X
- USING NAMESPACE ns1www.art.com/schema.rdf
- Create superclasses for a virtual class
- VIEW XltPhD_Studentgt
- FROM bag(Teaching_Stuff,Graduate_Student)X
20Properties of the View Definition Language
- Minimality and Simplicity
- Defines a minimum set of constructors without
reducing the expressive power of the language - View declarations are simple and view results are
clear - Generality
- Preserves the underlying data model
- Supports all primitives of the underlying data
model - Logical Independence
- The view declarations are isolated from those of
the stored data - Real schemas do not use view definitions
- View constructs are virtual ? support of virtual
and not materialized views - Closure
- Everything used by the view is also defined in
the view
21Thank you
22Typing Rules
- Instantiation operator
- Classes
- tMc ? (string tC tMc tMp tp tU) ? tC
- tC ? tU? tU
- Properties
- tMp ? (stringtp, tCtMctMp, tCtMctMptL)?
tp, tCtMctMp, tCtMctMptL - tP ? (tUtCtP, tUtCtPstringintegerrealdate
boolean)? - tUtCtP, tP, tUtCtPstringintegerrealdate
boolean
23Typing Rules
- Subsumption operator
- tC ? tC ? tC, tC
- tP ? tP ? tP, tP
- tMc ? tMc ? tMc, tMc
- tMp ? tMp ? tMp, tMp