Title: RDF/XML-based Generation of Adaptable Hypermedia Presentations
1RDF/XML-based Generation of Adaptable Hypermedia
Presentations
- Flavius Frasincar
- flaviusf_at_win.tue.nl
- http//wwwis.win.tue.nl/hera
2Contents
- Problem
- Hera Presentation Methodology
- Data Modeling
- Conceptual Model
- Application Model
- Adaptation Model
- Data Transformations
- Data Presentation in Different Browsers
- Conclusions
3Problem
- Present the data (possibly coming from different
sources) on different platforms for different
users in an automatic way
4Solution Hera
- Hera is a model-driven methodology for hypermedia
presentation design (part of Web Information
System design) - Hera differentiates from other existing
model-driven methodologies by - The high degree of automation of the designed
system - The use of Semantic Web technologies (RDF, RDFS,
RDF/XML) in system specification - The support offered for specifying adaptation
aspects early in the design process
5Language/Tool Support
- Models are represented in RDF and they are
serialized in RDF/XML - User Agent Profile (UAProf) a Composite
Capability/Preference Profiles (CC/PP) vocabulary
to model device capabilities and user preferences
- XSLT processor for transforming between different
model instances (stylesheet-based
transformation) - Xalan (XSLT 1.0)
- Saxon (XSLT 2.0) multiple output files support
6Data Modeling
7Conceptual Model (CM)
- Provides a uniform semantic view over different
data sources that are integrated within a given
Web application - Consists of hierarchies of concepts relevant
within the given domain - Concept properties are
- Attributes refer to literal values that
characterize a concept - Relationships refer to other concepts
8Example CM
9Example CM in RDF/XML
ltrdfsClass rdfID"Creator"/gt ltrdfsClass
rdfID"Painter"gt ltrdfssubClassOf
rdfresource"Creator"/gt lt/rdfsClassgt ltrdfProp
erty rdfID"creates"
syscardinality"multiple"
sysinverse"created_by"gt ltrdfsdomain
rdfresource"Creator"/gt ltrdfsrange
rdfresource"Artifact"/gt lt/rdfPropertygt
ltrdfsClass rdfID"Artifact"/gt ltrdfsClass
rdfID"Painting"gt ltrdfssubClassOf
rdfresource"Artifact"/gt lt/rdfsClassgt ltrdfPro
perty rdfID"year"gt ltrdfsdomain
rdfresource"Artifact"/gt ltrdfsrange
rdfresourceInteger"/gt lt/rdfPropertygt ltrdfP
roperty rdfID"picture"gt ltrdfsdomain
rdfresource"Painting"/gt ltrdfsrange
rdfresourceImage"/gt lt/rdfPropertygt
10Application Model (AM)
- Captures the logical (navigational) aspects of
the presentation - Based on the concept of slice, a meaningful
presentation unit which contains attributes and
possibly other slices - A slice is associated to a concept from CM
- Slice properties are
- Aggregation properties embed a set of slices
(abstraction for index, tour, indexed guided tour
etc). - Reference properties link abstraction
11Example AM
12Example AM in RDF/XML
ltrdfsClass rdfID"Slice.painting.main"
sliceowner"CM Painting"gt
ltrdfssubClassOf rdfresource"Slice"/gt lt/rdfsCl
assgt ltrdfProperty rdfID"slice-ref"gt
ltsliceprop-ref rdfresource"CM ex_by"/gt
ltrdfsdomain rdfresource"S.t.main"/gt
ltrdfsrange rdfresource"S.p.picture"/gt lt/rdfPr
opertygt ltrdfProperty rdfIDlink_1"gt
ltrdfssubPropertyOf rdfresource linkgt
ltrdfsdomain rdfresource" S.p.picture"/gt
ltrdfsrange rdfresource"S.p.main"/gt lt/rdfPrope
rtygt
ltrdfsClass rdfID"Slice.technique.main"
sliceownerCMTechnique"
slicemain"Yes"gt ltrdfssubClassOf
rdfresourceSlice"/gt lt/rdfsClassgt ltrdfsClass
rdfID"S.painting.picture"
sliceownerCMPainting"
sliceattr-refCMpicture"gt ltrdfssubClassOf
rdfresource"Slice"/gt lt/rdfsClassgt
ltrdfProperty rdfID"media"gt ltrdfsdomain
rdfresource"S.p.picture"/gt ltrdfsrange
rdfresourceImage"/gt lt/rdfPropertygt
13Adaptation Model
- Based on conditioning the appearance of slices
- A link referencing a slice that has the condition
not valid - is hidden
- Takes into account the device capabilities and
user preferences based on two CC/PP vocabularies - UAProf (User Agent Profile) device capabilities
- UserProfile user preferences
- The user/platform profile instantiates these two
vocabularies for the specific platform and user
of the system
14Adapted Application Model
15Example AM in RDF/XML
ltrdfsClass rdfID"Slice.painting.picture"
sliceownerCMPainting"
sliceattr-refCMpicture"
sliceconditionSlice"prfImageCapableYes"gt
ltrdfssubClassOf rdfresourceAMSlice"/gt lt/rdfs
Classgt ltrdfProperty rdfID"slice-ref"gt
ltrdfsdomain rdfresource"Slice.painting.main"/gt
ltrdfsrange rdfresource"Slice.painter.name
"/gt ltsliceprop-ref rdfresourceCMpainted_b
y"/gt ltsliceconditionRef"prfExpertiseLevelM
edium/gt lt/rdfPropertygt
16Data Transformations
- Step 0 Preparation
- Substep 0.1 Application Model Unfolding creates
the skeleton of an AM instance - Substep 0.2 Application Model Adaptation adds
slice visibility conditions to the previous
skeleton - Substep 0.3 Main Transformation Specification
Generation builds the specification for the next
step - Step 1 Main Transformation populates the AM with
the input CM instance - Step 2 Presentation Generation produces code for
different browsers (HTML, WML, SMIL)
17Main Transformation
- Project all slices on the retrieved instances
that correspond to the slice owner concept - Each time a slice reference is encountered refer
to its identifier (possibly traversing some
instances based on concept relationship(s) from
CM) - Each time a media reference is encountered copy
the media (given by a certain attribute from CM) - Name convention
- Slice full name Slice.concept . slice
short name - Slice instance full name Slice full name _
identifier of the instance projected upon
18Data Transformations
19Presentation in Browsers
WML
SMIL
HTML
Wireless Markup Language
Synchronized Multimedia Integration Language
HyperText Markup Language
20Conclusions
- Hera
- Is a model-based methodology that distinguishes
two design tasks the CM design and the AM design - It offers a high degree of system automation by
specifying transformation stylesheets between
different models - It uses standard technology RDF, RDF/XML, XSLT
- As future work
- Support user interaction
- Experiment with high level Semantic Web languages
like the Web Ontology Language (OWL)