Professional Documents
Culture Documents
Erich Neuhold
Claudia Niederée
Michael Fuchs
Fraunhofer Institute IPSI
Darmstadt Germany
http://ipsi.fhg.de
© Fraunhofer IPSI
Content
related Standards
Operationalization: A Semantic Web
Application Development Framework
Open Issues 2
© Fraunhofer IPSI
The Next Generation of the Web
3
© Fraunhofer IPSI
Semantic Web - Vision
User S+
Preferences S+
…
Calendar
…
Calendar
Request/Task Interpretation Preferences
Interpretation
S+ Interpretation S+
S+ S+
Semantically S+
enriched
information „Trust“-Services
WSDL* e
1. register Regist
descriptio
n ry
SOAP*
3. compose,
wrapping orchestrate
Service
component 4. call, exploit Application
7
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
HTML-based UI Dialog Models -
Shortcomings
no (or little) client side validation
restricted client side interaction
restricted control of submitted data
strong bias towards one user
interface agent (Web Browser)
static form composition
Software Agent
HTML has not to be "well formed"
User Interface Layer
(not parseable)
Application Layer mixed layout and structure
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
8
© Fraunhofer IPSI
HTML – Properties and
Shortcomings
<html>
<BODY bgcolor=yellow>
<form action=followUpPage.cgi><p>
<CENTER><h2><font color=red>Travel Tours</h2></font>
<P><img src="palm.gif"></p>
<font face=Arial size="2">
Please enter the <br><i><b>start date</i></b> <br>of your
Journey in the following field
<br> > <input type=text name='start'><br>
and the <br><i><b>end date</i></b><BR> here <br>
> <input type="input" name='end'> <BR> After filling the
form please press <br>
<p><input type='submit' value="submit"></P>
</FORM>
</Body>
</Html>
9
© Fraunhofer IPSI
Semantic Web Applications Models (1)
Web
Conceptual User Interface Model
Client
(HTML)
What?
How?
How
Application Layer
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
10
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
Requirements for Conceptual UI
Model
conceptual model for form-based User Interfaces
requires
design of forms on a more abstract level
independence of specific user interface agents
rich set of UI component types
more powerful client-side interaction model
dynamic client side behavior
Software Agent
Operationalization
User Interface Layer
processors for different user interface agents
Application Layer comfortable editors for form authoring
authors authors
autho rs id name autho rs id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
11
© Fraunhofer IPSI
Conceptual UI Model - XForms
id
autho rs
name
id
1
authors
name
Rudar id
autho rs
name
id
1
authors
name
Rudar
Operationalization (not supported by XForms)
processors for different user interface agents
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
<fields>
<field name="dc:creator" type="string">
Instance of <rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
Data Model .
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-
operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
Conceptual </xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
User Interface Model <xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset> 13
© Fraunhofer IPSI </xforms:select1>
XForms Example –SCHOLNET
Project <SearchForm> .
. .
<fields>
<field name="dc:creator" type="string">
<rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
.
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-
operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset> 14
© Fraunhofer IPSI </xforms:select1>
XForms Example – SCHOLNET
Project
<SearchForm> ..
.
<fields>
<field name="dc:creator" type="string">
<rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
.
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1> 15
© Fraunhofer IPSI <xforms:input ref="value"/>[<xforms:output
XForms Example – SCHOLNET
Project
<SearchForm> ..
.
<fields>
<field name="dc:creator" type="string">
<rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
.
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete"
onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
16
© Fraunhofer IPSI </xforms:itemset>
</xforms:select1>
XForms Example – SCHOLNET
Project
<SearchForm> ..
.
<fields>
<field name="dc:creator" type="string">
<rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
.
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
17
© Fraunhofer IPSI </xforms:select1>
<xforms:input ref="value"/>[<xforms:output
XForms Example – SCHOLNET
Project
<SearchForm> ..
.
<fields>
<field name="dc:creator" type="string">
<rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
.
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1> 18
© Fraunhofer IPSI <xforms:input ref="value"/>[<xforms:output
XForms Example – SCHOLNET
Project
<SearchForm> ..
.
<fields>
<field name="dc:creator" type="string">
<rel-ops selected="equal">
<rel-op name="equal"
.. symbol="" position="infix"/>
.
</rel-ops> ..
.
</fields> ..
.
</SearchForm>
<xforms:repeat nodeset="SearchForm/fields/field"/>
<xforms:select1 ref="field-operators/@selected">
<xforms:itemset nodeset="field-operators/field-operator">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1>
<xforms:button value="Add" onclick="new:rptName"/>
<xforms:button value="Delete" onclick="delete:rptName"/>
<xforms:group nodeset="rel-ops"/>
<xforms:select1 ref="@selected" appearance="min">
<xforms:itemset nodeset="rel-op">
<xforms:caption ref="@name"/><xforms:value
ref="@name"/>
</xforms:itemset>
</xforms:select1> 19
© Fraunhofer IPSI <xforms:input ref="value"/>[<xforms:output
How to use XForms?
Design time Run time
What?
What
How
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
Ontology
22
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
Requirements for Semantic
Domain Model
authors authors
autho rs id name autho rs id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
23
© Fraunhofer IPSI
Conceptual Modeling in Software
Design
Example: Unified
Modeling Language
(UML*)
Travel City
0..*
name : String
1
start
destination
0..* Flight 0..*
BusTravel TrainTravel PlaneTravel
number : String
contains
DirectFlight CompositeFlight
Domain/Ontology evolution
4 Hollow 4 Hollow
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
• not supported 25
© Fraunhofer IPSI
Conceptual Modeling in the Semantic Web –
RDF & Co
The Resource Description Framework (RDF + RDF
Schema):
Defines a framework for structuring and
describing resources in the Semantic Web
Enables the definition of vocabularies for the
description of resources in an application
domain;
Software Agent
Goals:
User Interface Layer
Extensibility, interoperability, and reuse of
Application Layer vocabularies;
authors authors
Improved support for interpretation of data by
machines
autho rs id name autho rs id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
26
© Fraunhofer IPSI
Resource Description Framework –
Example
RDF Schema rdf:Resource
s sOf
ubCla f
rd fs:s sO
las
C
rdfs:Class ub
s:s travel:City
rd f
rdf:typ e
rdf:Property
r dfs
:r an
r df:t
rd
f:t
ge
travel:Travel yp
yp e
e
travel:destination
rdfs:subClassOf travel:contains
rdfs
f
travel:flightNo
O
ss
in
rdfs:domain
:s
la
rd
ma
ub
bC
fs :
e
Cla n
su
:do
r
ng
ai
an
fs :
om
a
ge
s
s
s: r
rd
rdf
d
sO
f s:
rdf
rd
f
rdf:type
e
typ
:
rdf
ype
MyTravel ThisFlight
contains
r df:t
RDF i on
flig
n at
de
sti ht N
o
Rome LH27
27
© Fraunhofer IPSI
Fulfillment of Requirements - RDF
Schema
Support of modeling primitives
• Definition of entities (classes + property centric
approach)
• Definition of relationships (via properties)
• Properties of relationships (properties are also
resources)
Flexible definition of relationships to global conceptual
models
• use of URI references, subclasses relationship (see
Software Agent
next slide)
User Interface Layer
Representation of concept hierarchies
• yes, subclass relationship
Application Layer Systematic support of data types
• only on the instance level (typed literal), use of
XML Schema data types
authors authors
autho rs id name autho rs id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
28
© Fraunhofer IPSI constraints
Relationships to global Conceptual Models
- RDF
Example Travel
29
© Fraunhofer IPSI
What is still missing?
30
© Fraunhofer IPSI
Defining Domain Ontologies -OWL
slides 34
© Fraunhofer IPSI
Relationships to global Conceptual
Models - OWL Travel
Example
“A Travel is defined a bus travel, a planeBusTravel TrainTravel PlaneTravel
35
© Fraunhofer IPSI
Representation of Domain Knowledge
in OWL
Example
“A city can be either reached by a direct flight
or by connecting several flights”
<owl:objectProperty rdf:about="travel:directFlight">
<rdfs:subpropertyOf rdf:resource = "#connect">
</owl:objectProperty>
36
© Fraunhofer IPSI
Additional Requirements for Semantic Web
Applications
flexible (e.g. Caching)
bidirectional
Mappings between:
Software Agent
Data Model
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 4 Hollow
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id na me
8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
37
© Fraunhofer IPSI
Mapping and Semantic Domain Model -
VizCo
No of persons
coursetransaction s c2: coursetransaction
affiliation name affiliation address R19: ha
R1
R1
vehicle
8: b
8:
R7: has
boo
ok
provider name s
s
ha
ha
k
R1
6:
6:
R1
5:
R
as
person
R10: register
ha s
c3: person
R8:
R1 number
7:
i
s
sA
has
affiliation provider R1
ha
7:
isA
0:
R2
R 20:
student
R2
R2
c4: student
1:
1
ha
:h
R5: sFrom
person name
s
as
R9: has
R14:has
4:
ha
mn
a2: mn
author course c1: course
R4: R 11
has R11: belo : bel
ng sTo ong c5: coursedomain
sT o
R3: has
coursedomain
as R
:h
2:
h
R1
R1
as
3:
ha
R
13
coursedomain name
a5: coursedomain name
Software Agent
System Authoring
Tool Suite Web User Interface Agent Interface
System
Authoring
Publishing Tools Tool Suite Conceptual UI Model
Process
- Form Dialog Manager User Interface Layer Model
- Menu Manager Manager
VizCo
Task-specificTools Semantic Domain Model Web Services
- Booking Manager
- User Manager Application Layer
authors authors
authors id name authors id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 4 Hollow
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id na me
8 Hollow 8 Hollow
39
1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
© Fraunhofer IPSI
Open Issues
40
© Fraunhofer IPSI
Thank
s!
41
© Fraunhofer IPSI
In the following some Backup Slides
42
© Fraunhofer IPSI
Use of Models for User Interface Creation
43
© Fraunhofer IPSI
The Semantic Web
44
© Fraunhofer IPSI
Semantic Web Application Models
Web
Client
(HTML)
Application Layer
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow
45
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
© Fraunhofer IPSI
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
Semantic Domain Model – RDF &
Co
The Resource Description Framework:
Defines a framework for structuring and
describing resources like documents in the
Semantic Web
Enables the definition of vocabularies for
the description of resources in an
application domain;
Goals:
Software Agent
Extensibility, interoperability, and
reuse of vocabularies;
User Interface Layer
Improved support for interpretation of
Application Layer data
by machines
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
46
© Fraunhofer IPSI
Defining Semantics on the Web
context.
5 Rudar 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
47
© Fraunhofer IPSI
RDF Schema
and relationships/properties
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
48
© Fraunhofer IPSI
RDF Schema Example
rdf:Literal FlightNumber
rdfs:range
in
DepatureDate
o ma
assignedTo rd
d
ai n fs
rd fs:
:r
r dfs om an
ain :ra n s :d ge
o m ge r df
s:d Flight rdf:Literal
r df rdfs:range isFor
Plane ain
m
f s:do
rd
rdf s
hasPassenger
om:d
ai
rd
n
fs:
r an
ge Ticket
Person
e
ng
rdf
s: d
ra
o ma
s:
f
in
owns rd
49
© Fraunhofer IPSI
Ontology Languages
50
© Fraunhofer IPSI
OWL Characteristics
52
© Fraunhofer IPSI
XForms provides …
53
© Fraunhofer IPSI XML-Browser, Java and Flash
Additional Requirements for Semantic Web
Applications
Mappings between the Models
Conceptual UI Model
Semantic Domain Model
Domain Model (represented by Database
Schema)
authors authors
autho rs id name autho rs id name
id na me 1 Rudar id na me 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 4 Hollow 3 Glue 4 Hollow
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best
authors 7 Glue 7 Glue
id name 8 Hollow 8 Hollow
9 Rudar 9 Rudar
1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow
54
© Fraunhofer IPSI
Software Agent
Flight
Flight Departure
Departure
55
id name 8 Hollow 8 Hollow id name 8 Hollow 8 Hollow
1 Rudar
9 Rudar 9 Rudar 1 Rudar
9 Rudar 9 Rudar
10 Best 10 Best 10 Best 10 Best
2 Best 2 Best
11 Glue 11 Glue 11 Glue 11 Glue
© Fraunhofer IPSI
3 Glue 3 Glue
4 Hollow 4 Hollow