You are on page 1of 55

Semantic Web Application Models

Invited Talk at the


ER 2003 - 22nd International Conference on Conceptual
Modeling, Chicago, Illinois
13-16 October, 2003

Erich Neuhold
Claudia Niederée
Michael Fuchs
Fraunhofer Institute IPSI
Darmstadt Germany
http://ipsi.fhg.de

© Fraunhofer IPSI
Content

Trends for the next generation of the


Web
• Web Services
• The Semantic Web
Challenges for Web applications in
the Next
Generation of the WWW
Semantic Web Application Models and

related Standards
Operationalization: A Semantic Web
Application Development Framework
Open Issues 2
© Fraunhofer IPSI
The Next Generation of the Web

Central trends for the next Generation of


the World Wide Web
 The Web as “Programming
Interface”:
Web Service Paradigm
 Semantic Enrichment for an
improved information and service
mediation: Semantic Web

3
© Fraunhofer IPSI
Semantic Web - Vision
User S+
Preferences S+

Calendar

Calendar
Request/Task Interpretation Preferences

Interpretation

Agents Communication, Negotiation,


Planning, Decisions, Proofs
Interpretation Ratings,
Signatures,
Certificates

S+ Interpretation S+
S+ S+
Semantically S+
enriched
information „Trust“-Services

Information and Service 4


© Fraunhofer IPSI Provider
The Web Services Architecture

Servic UDDI* 2. locate service in the Web

WSDL* e
1. register Regist
descriptio
n ry

SOAP*
3. compose,
wrapping orchestrate

Service
component 4. call, exploit Application

Service provider Service client

Web Services support the flexible and dynamic


configuration of IT and service infrastructures

*SOAP = Simple Object Access Protocol


*WSDL = Web Service Description Language 5
© Fraunhofer IPSI *UDDI = Universal Description, Discovery and Integration
Challenges for Web Applications

For effective operation in the Semantic Web, Web


applications
have to
move from a purely human user community of the
WWW towards a mixed user community (humans as
well as software agents);
support information to enable automatic
interpretation of delivered Web page content;
(interlinking local data and content with globally
defined interpretation schemes like vocabularies and
ontologies);

Exploitation of Web service paradigm for flexible


composition of Web Applications; General Challenges
Service Discovery
Service Composition 6
© Fraunhofer IPSI
Challenges for Web Applications
Web
Client
(HTML)
What?
How?

User Interface Layer


Software Agent
JSP*, ASP*, …
not nodel-based,
semi-structured document (HTML),
Application Layer
but
without explicit Schemata
ODBC*, JDBC*, …
authors authors
authors id name authors id name
id name 1 Rudar id name 1 Rudar

*JDBC/ODBC = Java/Open Database Connectivity


1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 4 Hollow

7
4 Hollow 5 Rudar 4 Hollow 5 Rudar
6 Best 6 Best

*JSP/ASP = Java/Active Sever Pages


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
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>&nbsp;&nbsp;&nbsp; > <input type=text name='start'><br>
and the <br><i><b>end date</i></b><BR> here <br>&nbsp;&nbsp;&nbsp;
> <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 

Web User Interface Agent Interface


Software Agent
Conceptual UI Model
User Interface Layer

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

XForms - the next generation of form-based user


interfaces:
 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 
Software Agent  dynamic client side behavior (e.g. add new
fields or exchange form blocks while using the
User Interface Layer
form) 
Application Layer

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

 comfortable editors for form authoring 12


© Fraunhofer IPSI
XForms Example –SCHOLNET
Project (1) <SearchForm> .
. .

<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

Edit XForms Model Map Transform


XForms Model XForm Model
(Form Dialog Manager)  
Data Model Client Interface
(VizCo *) FormsPLayer © x-port

chs, Niederée, Hemmje, Neuhold,


upporting Model-based Construction of Semantic-enabled Web Applications ”,
ppear in Proceedings of the 4th International Conference on Web Information Systems Engineering (W
me, December 2003 20
© Fraunhofer IPSI
Use of Models for User Interface
Creation

J. Eisenstein, J. Vanderdonckt, A. Puerta


Applying Model-Based Techniques to the Development of UIs for Mobile Compu
(2001)
21
 Intelligent
© Fraunhofer IPSI User Interfaces
Semantic Web Application Models (2)
Web
Semantic Domain Model
Client
(HTML)

What?
What 
How 

Web User Interface Agent Interface


Software Agent
Conceptual UI Model

User Interface Layer


Flight Departure

Semantic Domain Model

Application Layer Flight Departure

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

 Support of modeling primitives


 Flexible definition of relationships to global
conceptual models
 Representation of concept hierarchies
 Systematic support of data types
 Representation of additional domain
knowledge and constraints
Software Agent
 Consistent support of domain/ontology
User Interface Layer evolution
Application Layer

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

*UML Specification, Object Managent Group (OMG),


24
see http://www.omg.org/technology/documents/formal/uml.htm
© Fraunhofer IPSI
Fulfillment of Requirements - UML
 Support of modeling primitives
• Definition of entities (class centric approach)
• Definition of relationships (association, aggregation,
composition)
• Properties of relationships (multiplicities, association +
role names, association classes)
 Flexible definition of relationships to global conceptual
models
• not supported
 Representation of concept hierarchies
Software Agent
• subclass relationship
User Interface Layer  Systematic support of data types
• imported from DB Schema or Programming Language
Application Layer  Representation of additional domain knowledge and
constraints
id
1
2
autho rs
name
Rudar
Best
id
1
2
3
authors
name
Rudar
Best
Glue
id
1
2
autho rs
name
Rudar
Best
id
1
2
3
authors
name
Rudar
Best
Glue
• in textual form
3 Glue 4 Hollow 3 Glue 4 Hollow

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

travel:BusTravel travel:TrainTravel travel:Flight


travel:PlaneTravel rdf:Literal

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

Representation of additional domain knowledge and


10 Best 10 Best


2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

28
© Fraunhofer IPSI constraints
Relationships to global Conceptual Models
- RDF
Example Travel

“Different types of travel can be defined


starting from the concept Travel defined in
another global schemes” BusTravel TrainTravel PlaneTravel

“definition of new subclasses”


<rdfs:Class rdf:about="#busTravel">
<rdfs:label>Bus Travel</rdfs:label>
<rdfs:subClassOf rdf:resource="travel:Travel"/>
</rdfs:Class>
<rdfs:Class rdf:about="#planeTravel"> Gobally
<rdfs:label>Plane Travel</rdfs:label> defined
<rdfs:subClassOf rdf:resource="travel:Travel"/>
</rdfs:Class>

29
© Fraunhofer IPSI
What is still missing?

RDF contains only limited set of predefined


concepts with defined semantics; concepts
are missing for:
 predefined concepts for the
definition of richer types of
relationships between conceptual
models
Software Agent  representation of domain constraints
User Interface Layer
and further domain knowledge
 ontology/domain model evolution
Application Layer
support
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

30
© Fraunhofer IPSI
Defining Domain Ontologies -OWL

„An ontology is a specification of a


conceptualization.” *

OWL (Web Ontology Language) is


• is a language for defining ontologies for the
Semantic Web
• is currently developed by the W3C Web Ontology
Group (Status: Working Draft) - successor of
DAML + OIL
• is building upon RDF and RDF Schema
• enables the representation of additional domain
knowledge (compared with RDF)

*T. R. Gruber. A translation approach to portable ontologies. Knowledge


Acquisition, 31
© Fraunhofer IPSI
5(2):199-220, 1993
Role of OWL for Semantic Web Application
Models
What are the gains of using OWL in Semantic
Web Applications:
 Definition of ontologies that are used as
common reference points for domain
models;
 Specification of refined relationships
between concepts in the domain model and
the ontology;
 Formulation of additional constraints in the
domain model;

 Advantage: predefined concepts ease


automatic interpretation in global distributed
context
32
© Fraunhofer IPSI
Ontology Definition - Protégé

The Protégé Ontology Editor and Knowledge Acquisition System


33
© Fraunhofer IPSI see http://protege.stanford.edu/index.html
Fulfillment of Requirements - OWL
 Support of modeling primitives
• Definition of entities (property centric approach like
RDF)
• Definition of relationships (via class properties)
• Properties of relationships (cardinalities, transitivity,
symmetry, ...)
 Flexible definition of relationships to global conceptual
models
• additional to RDF: disjoint, union, intersection,
equivalent class, equivalent property
Software Agent  Representation of concept hierarchies
• yes like RDF + additional relationships, e.g. disjoint
User Interface Layer classes
 Systematic support of data types
Application Layer
• on schema level (“data type properties”)
authors authors
 Representation of additional domain knowledge and
constraints
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

• supported by predefined concepts, examples see next


1 Rudar
10 Best 10 Best
2 Best
11 Glue 11 Glue
3 Glue
4 Hollow

slides 34
© Fraunhofer IPSI
Relationships to global Conceptual
Models - OWL Travel

Example
“A Travel is defined a bus travel, a planeBusTravel TrainTravel PlaneTravel

or a train travel, assuming that this three


types of travel are defined in other global
schemes” “definition of new superclass”

<owl:class rdf:about = “#Travel” >


<owl:unionOf rdf:parseType= “Collection”>
<owl:Class rdf:about = “airWays:Flight”
<owl:Class rdf:about = “busWorld:Travel”
<owl:Class rdf:about = “railway:TrainTravel”>
</owl:unionOf>
</owl:class>

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:transitiveProperty rdf:about = "#connect">


<rdfs:domain rdf:about = "map:City">
<rdfs:range rdf:about = "map:City">
</owl:transitiveProperty>

<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

Web User Interface Agent Interface


Conceptual UI Model
Conceptual UI Model
User Interface Layer

Semantic Domain Model


Semantic Domain Model
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

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

R10: reg ister


h

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

a3: person name


R1

R14:has
4:
ha

person address a4: person address


s

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

author name title price a1: title s


:h
as

coursedomain name
a5: coursedomain name

Fuchs, Niederée, Hemmje, Neuhold,


“Supporting Model-based Construction of Semantic-enabled Web
Applications ”,
38
© Fraunhofer IPSI to appear in Proceedings of the 4th International Conference on Web
Information Systems Engineering (WISE'03), Rome, December 2003
Operationalization: Model Authoring +
Mapping Definition

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

 Development of globally accepted


Ontologies
 Extended support for domain model
and ontology evolution
 Systematic Handling of Multilinguality
 Development of adequate processors
for the transformation of conceptual UI
model into different agent-specific UI
formats

40
© Fraunhofer IPSI
Thank
s!

41
© Fraunhofer IPSI
In the following some Backup Slides

42
© Fraunhofer IPSI
Use of Models for User Interface Creation

Mecano and MOBI-D (Model-based Interface Designer)


The Mecano Interface Models [Puerta 1997]
User Model
User-Task Model
Domain Model
Presentation Model
Dialog Model
Design Model
Uses object oriented
modeling language:
MIMIC

43
© Fraunhofer IPSI
The Semantic Web

"The Semantic Web is an extension of


the current Web in which information is
given well-defined meaning, better
enabling computers and people to work in
cooperation."
Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web,
Scientific American, May 2001

44
© Fraunhofer IPSI
Semantic Web Application Models
Web
Client
(HTML)

Web User Interface


<xforms:repeat nodeset="flights">Agent Interface
<xforms:select ref="start"/>
<xforms:select ref="end"/> Software Agent
</xforms:repeat>
Conceptual UI Model
User Interface Layer

Semantic Domain Model

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

There is a need to describe resources on the


Web
in a form that can be interpreted
by machines across the Web
Interpretation depends on the context of a
resource
e.g. Jaguar (car vs. beast);
Using their experience and cognitive abilities
humans may infer the context of a resource
Software Agent in many ways even if it is not made explicit;
User Interface Layer
Software can interpret context
only if it is described explicitly and formally;
Application Layer RDF and the ontology languages building
upon RDF
provide means to explicate (part of) this
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 4 Hollow

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

The RDF vocabulary description language - RDF


Schema
stresses
Reuse and extension of existing schemata
Semantic enrichment by concept hierarchies
allows mixing of schemata
enables statements on the schema level to
define classes of resources
Software Agent
define relationships between these classes
User Interface Layer
define the kinds of properties that instances
Application Layer of that classes have
define relationships between properties
id
1
2
3
4
autho rs
na me
Rudar
Best
Glue
Hollow
to restrict possible combinations of classes
id
1
2
3
4
5
authors
name
Rudar
Best
Glue
Hollow
Rudar
id
1
2
3
4
autho rs
na me
Rudar
Best
Glue
Hollow
id
1
2
3
4
5
authors
name
Rudar
Best
Glue
Hollow
Rudar

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

OWL is language for defining ontologies


DAML+OIL is a combination of the two
predecessor ontology languages
DAML – DARPA Agent Markup Language
OIL - Ontology Inference Layer
OWL (Web Ontology Language) is the
successor DAML + OIL currently developed by
the W3C Web Ontology Group (Status:
Working Draft)
Building on RDF ideas
OWL Lite is a subset of OWL

50
© Fraunhofer IPSI
OWL Characteristics

OWL enables the definition of


various types of relationships between
classes
(in addition to subclass hierarchies)
additional restrictions for property values
additional types of relationships between
properties
different kinds of properties
OWL distinguishes between
classes and instances (objects) on the one
side,
and data types and value on the other side
(XML Schema datatypes) 51
© Fraunhofer IPSI
Conceptual UI Model - XForms

The next generation of form-based user


interfaces in the Web:
design of forms on a more abstract
level
dynamic client side behavior
(e.g. add new and delete form fields)
more powerful client-side interaction
Software Agent
model
User Interface Layer
support of different user interface
Application Layer agents
autho rs id
1
authors
name
Rudar
autho rs id
1
authors
name
Rudar
to (separately) re-use the three
kind of models of a form
id na me id na me
1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue
4 Hollow 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

52
© Fraunhofer IPSI
XForms provides …

a model and formal language for the


definition of form dialogs on an conceptual
level
under standardization of W3C
builds upon existing system
components and
standards (XSLT proc., XML access
Software Agent
layer)
User Interface Layer
platform independent (database, Web
server)
Application Layer
supports different types of UI
id
1
2
3
autho rs
na me
Rudar
Best
Glue
id
1
2
3
authors
name
Rudar
Best
Glue
id
1
2
3
autho rs
na me
Rudar
Best
Glue
id
1
2
3
authors
name
Rudar
Best
Glue
agents
(mobile phone, PDA, HTML-Browser,
4 Hollow 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

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)

Mappings which are Software Agent

bidirectional User Interface Layer

flexible (e.g. caching) Application Layer

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

<xforms:repeat nodeset="flights"> <xforms:repeat nodeset="flights"> <xforms:repeat nodeset="flights">


<xforms:select ref="start"/> <xforms:select1 ref="start"/> <xforms:input ref="start"/>
<xforms:select ref="end"/> <xforms:input ref="end"/> <xforms:input ref="end"/>
</xforms:repeat> </xforms:repeat>
Flight
Flight Departure
Departure </xforms:repeat>
Flight Departure Flight Departure

Flight Departure Flight Departure

authors authors authors authors


authors id name authors id name authors id name authors id name
id name 1 Rudar id name 1 Rudar id name 1 Rudar id name 1 Rudar
1 Rudar 2 Best 1 Rudar 2 Best 1 Rudar 2 Best 1 Rudar 2 Best
2 Best 3 Glue 2 Best 3 Glue 2 Best 3 Glue 2 Best 3 Glue
3 Glue 3 Glue 3 Glue 3 Glue
4 Hollow 4 Hollow 4 Hollow 4 Hollow
4 Hollow 4 Hollow 4 Hollow 4 Hollow
5 Rudar 5 Rudar 5 Rudar 5 Rudar
6 Best 6 Best 6 Best 6 Best
authors 7 Glue 7 Glue authors 7 Glue 7 Glue

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

You might also like