View
294
Download
0
Tags:
Embed Size (px)
Citation preview
TU/e technische universiteit eindhoven
Hypermedia Presentation Adaptation
on the Semantic Web
Flavius Frasincar
Geert-Jan Houben
http://wwwis.win.tue.nl/~hera
TU/e technische universiteit eindhoven
Overview
• Motivation and Goals• HERA Design Methodology• Conceptual Design• Application Design• Adaptation Design• Prototype and Rendering• Conclusion
TU/e technische universiteit eindhoven
Motivation: WIS Engineering
• Methodologies exist for manual hypermedia presentation design, HERA targets automated presentation
• Automated presentation is important for databased content (the ‘deep web’) as opposed to manually crafted content (the ‘surface web’): most WIS are data driven
TU/e technische universiteit eindhoven
Motivation: Adaptation
• Presentations must be adaptable to different users/user platforms
• Devices (PC, PDA, WAP Phone, WebTV etc.)• Device capabilities (display size, memory size,
network speed, etc.)• User preferences (desired layout, navigation
patterns, etc.)• User browsing history
TU/e technische universiteit eindhoven
Goals
• Develop a methodology for automated hypermedia presentation design (generation) that– is intended for Web-based information systems (WIS)
– integrates heterogeneous data sources
– facilitates presentation (server/client-side) adaptation to device capabilities and user preferences
– enables semi-structured data queries
TU/e technische universiteit eindhoven
HERA Architecture
Relational Database
Object-Oriented Database
XML Database
ODB-XML Wrapper
RDB-XML Wrapper
Mediator/ Integrator
Logical Presentation
Logical-WML Presentation
HTML Presentation
SMIL Presentation
WML Presentation
Logical-SMIL Presentation
Logical-HTML Presentation
Information Retrieval
Hypermedia Presentation
…
…Query
Use
r/P
latf
orm
A
dapt
atio
n
TU/e technische universiteit eindhoven
Hera Design Methodology
• Originates from RMM (Relationship Management Methodology)
• Suggests a sequence of design steps to be taken when designing a web application
• Supports – integration of heterogeneous information
– automated presentation design
– user/platform adaptation
TU/e technische universiteit eindhoven
Hera Design Methodology
Hera Suite
Design Methodology
RequirementsAnalysis
ConceptualDesign
IntegrationDesign
ApplicationDesign
AdaptationDesign
PresentationDesign
(Search)Agent
inforequest
(meta) data
ConceptualModel Application
Model
info request(slice)
presentation
End User
RQL / RDF XSLT / XML
UserModel
PresentationModel
PresentationEngine
ApplicationEngine
IntegrationEngine
CuypersEngine
AdaptationEngine
info request HTML/WML
IntegrationModel
Semantic Layer Application Layer Presentation Layer
TU/e technische universiteit eindhoven
Conceptual 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, their properties, and relations
• Encoded in RDF(S)
TU/e technische universiteit eindhoven
CM Example RDF(S) Syntax
<rdfs:Class rdf:ID="Artifact"/><rdfs:Class rdf:ID="Painting"> <rdfs:subClassOf rdf:resource="#Artifact"/></rdfs:Class><rdf:Property rdf:ID="name"> <rdfs:domain rdf:resource="#Artifact"/> <rdfs:range rdf:resource="#String"/></rdf:Property><rdf:Property rdf:ID="year"> <rdfs:domain rdf:resource="#Artifact"/> <rdfs:range rdf:resource="#Integer"/></rdf:Property>
<rdf:Property rdf:ID="picture"> <rdfs:domain rdf:resource="#Painting"/> <rdfs:range rdf:resource="#Image"/></rdf:Property><rdf:Property rdf:ID="created_by"> <sys:cardinality rdf:resource="#single"/> <sys:inverse rdf:resource="#creates"/> <rdfs:domain rdf:resource="#Artifact"/> <rdfs:range rdf:resource="#Creator"/></rdf:Property>...
TU/e technische universiteit eindhoven
Application Model (AM)
• Captures navigational view over CM, describing hypermedia aspects
• Slices are meaningful presentation units:– Associated to concepts from CM– Containing properties/attributes and possibly other slices
• Slices are linked together with slice relationships:– Aggregation relationships: index, tour, indexed guided tour
etc.– Reference relationships: link with an anchor specified
• Encoded in RDF(S)
TU/e technische universiteit eindhoven
AM Example RDF(S) Syntax<rdfs:Class rdf:ID="Slice.technique.main"> <rdfs:subClassOf rdf:resource="#Slice"/></rdfs:Class><rdfs:Class rdf:ID="Slice.painting.main"> <rdfs:subClassOf rdf:resource="#Slice"/></rdfs:Class><rdfs:Class rdf:ID="Link_exemplified_by" rdfs:subClassOf="#Link"></rdfs:Class><rdf:Property rdf:ID="source"> <rdfs:domain rdf:resource="#Link_exemplified_by"/> <rdfs:range rdf:resource="#Image"/></rdf:Property><rdf:Property rdf:ID="destination"> <rdfs:domain rdf:resource="#Link_exemplified_by"/> <rdfs:range rdf:resource="#Slice.painting.main"/></rdf:Property><rdf:Property rdf:ID="slice.painting.main"> <rdfs:domain rdf:resource="#Painting"/> <rdfs:range rdf:resource="#Slice.painting.main"/></rdf:Property>
TU/e technische universiteit eindhoven
Adaptation
• WIS are accessed through multitude of devices and by different users– Device capabilities
– User preferences
– Browsing history
• Adaptation based on conditioning the appearance of slices in AM
TU/e technische universiteit eindhoven
Adaptation/User Model
• Captures two kinds of adaptation• Adaptability takes into account the situation in which the user will
use the presentation (e.g. the browsing platform) • Adaptivity means that the presentation changes itself according to
the “state of the user’s mind” while being browsed
• Consists of • Device/User Profile captures “static” visual and platform
preferences encoded in CC/PP• User Session represents the dynamic user’s state, e.g. did the user
visit (learn) this slice (concept)• Application and Update Rules describe the behavior of the
presentation (e.g. conditional slices in AM) and keep the User Session up-to-date (AHAM rules)
TU/e technische universiteit eindhoven
Adaptation Model Syntax
Adaptability Condition
Adaptivity Condition<rdfs:Class rdf:ID=“Slice.painter.main”
slice:condition=“us:Biography =false”>
<rdf:subClassOf rdf:resource=“#Slice”/>
</rdfs:Class>
<rdfs:Class rdf:ID=“Slice.painting.picture”
slice:condition=“prf:ImageCapable=Yes”>
<rdf:subClassOf rdf:resource=“#Slice”/>
</rdfs:Class>
<rdfs:Class rdf:ID=“Slice.painting.main”
slice:condition=“us:Painter > 10”>
<rdf:subClassOf rdf:resource=“#Slice”/>
</rdfs:Class>
TU/e technische universiteit eindhoven
Profile Example
Device/User Profile (CC/PP encoding)• Screen size: 100x80
• Preferred language: English
<ccpp:component>
<up:UserPreferences>
<up:Language>English</up:Language>
…
</up:UserPreferences>
</ccpp:component>
</rdf:Description>
<rdf:Description rdf:about=“Profile”>
<ccpp:component>
<prf:HardwarePlatform>
<prf:ImageCapable>No</prf:ImageCapable>
<prf:ScreenSize>100x80</prf:ScreenSize>
…
</prf:HardwarePlatform>
</ccpp:component>
TU/e technische universiteit eindhoven
Update Rule (AHA) Example
Update the Biography record in the User Session table to true after the user visited “Slice.painter.main”.
<us:Slice.painter.main”>
<aha:updatelist>
<aha:SetOfConcepts>
<aha:item><us:Biography
aha:update=“true”/></aha:item>
…
</aha:SetOfConcepts>
</aha:updatelist>
</us:Slice.painter.main>
US Value
us.Biography(“Rembrandt”)
…
false
…
US Value
us.Biography(“Rembrandt”)
…
true
…
TU/e technische universiteit eindhoven
Update Rule (AHA) Example
<us:Slice.painter.main”>
<aha:updatelist>
<aha:SetOfConcepts>
<aha:item><us:Painting aha:update=“+80”/></aha:item>
<aha:item><us:Painter aha:update=“+40”/></aha:item>
…
</aha:SetOfConcepts>
</aha:updatelist>
</us:Slice.painter.main>
US Value
us.Painter(“Rembrandt”)
…
0 (<10)
…
US Value
us.Painter(“Rembrandt”)
…
40%x35=14 (>10)
…
TU/e technische universiteit eindhoven
Presentation Model
• Based on the concept of region which contains attributes and possibly other regions
• Each region has a rectangular area associated• Slices are translated to regions, one slice can be
mapped to several regions• Slice relationships are materialized with:
– Navigational relationships– Spatial relationships– Temporal relationships
TU/e technische universiteit eindhoven
Presentation Model Example
Bookcase regions
Screen rendering
bookcase
shelf
P.picture
painting
P.picture
P.name
…
Region
Attribute
(Associated to a certain painting P)
xy
right
below
Navigational Relationship
Spatial Relationship
0
1
2 0
P1 P2 P3
P4 P5 P6
P7
P1
‘Stone Bridge’ 1638 …
…
Priority (Priority 0 is always fulfilled)
TU/e technische universiteit eindhoven
XSL
Prototype
• XSLT code generation
• Two code generators:– HTML for PC Web browsers– WML code for WAP phone browsers
XSL
<xsl:template match=“slice-instance”>
<TABLE>
<xsl:apply-templates select=“*”/>
</TABLE>
</xsl:template>
<xsl:template match=“slice-instance”>
<CARD id=“{@id}”>
<xsl:apply-templates select=“*”/>
</CARD>
</xsl:template>
HTMLWML
TU/e technische universiteit eindhoven
Summary
• Hera methodology originated from RMM, suggests a sequence of design steps
• Our framework supports – integration of heterogeneous information (CM
populated from several heterogeneous data sources)– automated presentation design: AM serves as a
presentation blue print from which a concrete presentation is derived (w.r.t. a query)
– user/platform adaptation (adaptability and adaptivity)
TU/e technische universiteit eindhoven
Future Work
• Adaptation in all design steps including the Conceptual Model and Integration Model
• Experiment with higher ontology languages (e.g. DAML+OIL) as the basis for the CM
• Further development of tools for presentation rendering
• Authoring tools that would help the designer to build specification models in all design steps