Semantic Web Application Models

Invited Talk at the DW2004 – Datawarehousing und EAI, Graf-Zeppelin-Haus Friedrichshafen 3-4 November, 2004
Erich Neuhold Claudia Niederée Michael Fuchs Fraunhofer Institute IPSI Darmstadt Germany http://ipsi.fraunhofer.de

© Fraunhofer IPSI

Content Trends for the next generation of the Web • The Semantic Web • Web Services 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
© Fraunhofer IPSI

2

The Next Generation of the Web
Important trends for the next Generation of the World Wide Web  The Web as “Programming Interface”: Web Service Paradigm  Semantic Enrichment for improved information and service mediation: Semantic Web "The Semantic Web is an extension of the current Web in which information is given welldefined meaning, better enabling computers and people to work in cooperation." Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001
© Fraunhofer IPSI

3

Semantic Web - Vision
Preferences … Calendar Calendar … Request/Task Interpretation/Task Preferences S+ Users S+

Interpretation Agents Interpretation Communication, Negotiation, Planning, Decisions, Proofs Ratings, Signatures, Certificates Interpretation S+ S+ S+ „Trust“-Services Information and Service Provider 4 S+

S+ Semantically enriched information

© Fraunhofer IPSI

The Web Services Architecture
Servic e Regist ry
UDDI* 2. locate service in the Web

WSDL* descriptio n SOAP* wrapping Service component

1. register

USER
3. compose, orchestrate

4. call, exploit

Application Service client

Service provider

Web Services support the flexible and dynamic

configuration of IT and service infrastructures
© Fraunhofer IPSI

*SOAP = Simple Object Access Protocol *WSDL = Web Service Description Language *UDDI = Universal Description, Discovery and Integration

5

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); General Challenges for the Service Paradigm: Service Discovery Service Composition
© Fraunhofer IPSI

6

Web Client (HTML)

Current Situation

What? How?

User Interface Layer

JSP*, ASP*, …
Application Layer

Software Agent
not model-based, semi-structured document (HTML), but without explicit Schemata

ODBC*, JDBC*, …
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

*JDBC/ODBC = Java/Open Database Connectivity 7 *JSP/ASP = Java/Active Sever Pages

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 needs not to be "well formed" User Interface Layer (not parseable) Application Layer mixing layout and structure
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

8

<html>

HTML – Properties and Shortcomings

<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>
© Fraunhofer IPSI

XML Family ??
9

</Html>

Web Client (HTML)

Semantic Web Applications Models (1) Conceptual User Interface Model

What? How? How 

Web User Interface

Agent Interface

Software Agent
Conceptual UI Model

User Interface Layer
Application Layer

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

10

Requirements for Conceptual UI Model
Conceptual model for form-based User Interfaces requires  design of forms on an abstract level  independence of specific user/agent interfaces  rich set of UI component types  more powerful client-side interaction model  dynamic client side behavior
Software Agent

User Interface Layer Application Layer

Operationalization  processors for different user/agent interfaces  comfortable editors for form authoring
11

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© 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*

Mecano Interface Modeling Language 12

© 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/agent interfaces


 rich set of UI component types (XSLT, XML acc.)


 more powerful client-side interaction model  Software Agent  dynamic client side behavior (e.g. add new User Interface Layer fields or exchange form blocks while using the form)  Application Layer
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

Operationalization (not supported by XForms) 13  processors for different user interface agents

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

Instance of Data Model

Conceptual User Interface Model

© Fraunhofer IPSI

<fields> <field name="dc:creator" type="string" operator="boolean-and"> <rel-ops selected="equal"> <rel-op name="equal" symbol="" position="infix"/> . . . </rel-ops> . . . </fields> . . . </SearchForm> <xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="@operator"> <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 </xforms:select1> <xforms:input ref="value"/>[<xforms:output

XForms Example – SCHOLNET Project <SearchForm> . .
. <fields> <field name="dc:creator" type="string" operator="boolean-and"> <rel-ops selected="equal"> <rel-op name="equal" symbol="" position="infix"/> . . . </rel-ops> . . . </fields> . . . </SearchForm> <xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="@operator"> <xforms:itemset nodeset="//field-operators/fieldoperator"> <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 15 ref="@name"/> </xforms:itemset>

© Fraunhofer IPSI

XForms Example – SCHOLNET Project
<SearchForm> . . . <fields> <field name="dc:creator" type="string" operator="boolean-and"> <rel-ops selected="equal"> <rel-op name="equal" symbol="" position="infix"/> . . . </rel-ops> . . . </fields> . . . </SearchForm> <xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="@operator"> <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 </xforms:itemset> </xforms:select1>

© Fraunhofer IPSI

XForms Example – SCHOLNET Project
<SearchForm> . . . <fields> <field name="dc:creator" type="string" operator="boolean-and"> <rel-ops selected="equal"> <rel-op name="equal" symbol="" position="infix"/> . . . </rel-ops> . . . </fields> . . . </SearchForm> <xforms:repeat nodeset="SearchForm/fields/field"/> <xforms:select1 ref="@operator"> <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"/> 17 </xforms:itemset> </xforms:select1>

© Fraunhofer IPSI

How to use XForms?
Design time Run time

Edit XForms Model

(Form Dialog Manager)

Mapping of XForms Model  Data Model (VizCo *)

Transform XForm Model  Client Interface 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 18
© Fraunhofer IPSI

Use of Models for User Interface Generation

J. Eisenstein, J. Vanderdonckt, A. Puerta

-- MIMIC based!

Applying Model-Based Techniques to the Development of UIs for Mobile Compu (2001) 19  Intelligent User Interfaces © Fraunhofer IPSI

Web Client (HTML)

Semantic Web Application Models (2) Semantic Domain Model

What  How 

Web User Interface

Agent Interface

Software Agent
Conceptual UI Model

User Interface Layer
Flight Departure

Semantic Domain Model

Application Layer
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

Flight Departure

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

20 Ontology

Requirements for Semantic Domain Model
  Support of modeling primitives (obj., rel., prop.) Flexible definition of relationships to global conceptual models (Global Ontologies) Representation of concept hierarchies Systematic support of data types Representation of additional domain knowledge and constraints Consistent support of domain/ontology evolution

  Software Agent
User Interface Layer


Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

21

Conceptual Modeling in Software Design
Example: Unified Modeling Language (UML*)
Travel 1 destination 0..* contains Flight number : String 0..* City name : String start BusTravel TrainTravel PlaneTrav el 0..*

DirectFlight

CompositeFlight

*UML Specification, Object Managent Group (OMG),
© Fraunhofer IPSI

22 see http://www.omg.org/technology/documents/formal/uml.htm

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 • subclass relationship Systematic support of data types • imported from DB Schema or Programming Language Representation of additional domain knowledge and constraints • in textual form Domain/Ontology evolution 23 • not supported


Software Agent

User Interface Layer Application Layer


authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© 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

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

Goals: Extensibility, interoperability, and reuse of vocabularies; Improved support for interpretation of data by machines
24

© Fraunhofer IPSI

Resource Description Framework – Example
RDF Schema
rdfs:Class
rdf:typ e

rdf:Resource
s ubCla rd fs:s sOf

s:s rd f

sO la s C ub

f

travel:City

rdf:Property
yp e r df:t
rd

:r an r dfs

travel:Travel
rdfs:subClassOf

f:t yp

ge

e

f

travel:contains
rdfs:domain
r fs : rd

travel:destination travel:flightNo
:do ma in

:s rdfs

la ss O

s Cla ub

fs : su bC

travel:BusTravel

travel:TrainTravel

travel:PlaneTravel
typ e

travel:Flight
rdf:type

f rd

d s:

rdf:Literal

rdf :

MyTravel

RDF
© Fraunhofer IPSI

n ti o na sti de

Rome

LH27

r df:t

contains

ThisFlight
flig

ype

rdf s: r a

rdf s

om

ai

n

rd

ng e

ge an

f sO

o ht N

25

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 next slide) Representation of concept hierarchies • yes, subclass relationship Systematic support of data types • only on the instance level (typed literal), use of XML Schema data types Representation of additional domain knowledge and 26 constraints

Software Agent

User Interface Layer Application Layer

 

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

Relationships to global Conceptual Models - RDF
Example “Different types of travel can be defined starting from the concept Travel defined in BusTravel another global schemes”
Travel

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 defined <rdfs:label>Plane Travel</rdfs:label> <rdfs:subClassOf rdf:resource="travel:Travel"/> </rdfs:Class> …

© Fraunhofer IPSI

27

What is still missing?
RDF contains only limited set of predefined concepts with defined semantics; concepts are missing for:  the definition of richer types of relationships between conceptual models  representation of domain constraints and further domain Software Agent knowledge User Interface Layer  ontology/domain model evolution Application Layer support
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

28

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)

© Fraunhofer IPSI

*T. R. Gruber. A translation approach to portable ontologies. Knowledge Acquisition, 5(2):199-220, 1993

29

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
© Fraunhofer IPSI

30

Ontology Definition – Protégé (not OWL based)

© Fraunhofer IPSI

The Protégé Ontology Editor and Knowledge Acquisition System 31 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 Representation of concept hierarchies • yes like RDF + additional relationships, e.g. disjoint classes Systematic support of data types • on schema level (“data type properties”) Representation of additional domain knowledge and constraints • supported by predefined concepts, examples see next slides Domain/Ontology evolution 32 • only basic support


Software Agent

User Interface Layer Application Layer

 

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

Relationships to global Conceptual Models Travel OWL
Example BusTravel TrainTravel PlaneTravel “A Travel is defined a bus travel, a plane or a train travel, assuming that this three types of travel are defined in other global “definition of new superclass” schemes” <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>
33

© 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>
© Fraunhofer IPSI

34

Additional Requirements for Semantic Web Applications

Mapping Tools between and Execution Environment for: Web User Interface Conceptual UI Model

Software Agent
Agent Interface

Conceptual UI Model

User Interface Layer

Semantic Domain Model Data Model
© Fraunhofer IPSI

Semantic Domain Model

Application Layer
authors
authors
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 na me Rudar Best Glue Hollow

7 8 9 10 11

35

Operationalization: Model Authoring + Mapping Definition  FairsNet

Software Agent
System Tools Suite Publishing Tools - Form Dialog Manager - Menu Manager Task-specificTools - Booking Manager - User Manager Web User Interface Agent Interface Process Model Manager

System Authoring Tool Suite VizCo

Conceptual UI Model

User Interface Layer
Semantic Domain Model Web Services

Application Layer
authors
authors
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 na me Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

36

Open Issues
 Development of globally accepted (domain specific) Ontologies  Extended support for domain model and ontology evolution  Systematic Handling of multilinguality  Development of adequate processors for the transformation of conceptual UI models into different agent-specific UI formats  Standardization and Integration of Process Models for WEB Services)
© Fraunhofer IPSI

37

Thanks!

© Fraunhofer IPSI

38

In the following some Backup Slides

© Fraunhofer IPSI

39

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

© Fraunhofer IPSI

40

Web Client (HTML)

Semantic Web Application Models

<xforms:repeat nodeset="flights"> Web User Interface Agent Interface <xforms:select ref="start"/> <xforms:select ref="end"/> </xforms:repeat>

Software Agent

Conceptual UI Model

User Interface Layer
Semantic Domain Model

Application Layer
authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id name Rudar Best Glue Hollow

© Fraunhofer IPSI

1 2 3 4

7 8 9 10 11

41

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: Extensibility, interoperability, and Software Agent reuse of vocabularies; User Interface Layer Improved support for interpretation of data Application Layer by machines
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

Semantic Domain Model – RDF & Co

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

42

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 in many ways even if it is not made explicit; Software can interpret context only if it is described explicitly and formally; RDF and the ontology languages building upon RDF provide means to explicate (part of) this context.

Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

43

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 of that classes have Application Layer define relationships between properties to restrict possible combinations of classes and relationships/properties
authors
Rudar Best Glue

authors
Rudar Best Glue

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

autho rs
Rudar Best Glue

id 1 2 3 4 5 6

name

id 1 2 3 4

na me

id 1 2 3 4

na me

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

Hollow

Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
Rudar Best Glue

id 1 2 3 4

name

7 8 9 10 11

7 8 9 10 11

Hollow

© Fraunhofer IPSI

44

RDF Schema Example
rdf:Literal
rdfs:range

FlightNumber
in

rd fs: d

assignedTo
in ma o

o ma

DepatureDate
m :d o s df ai n

r dfs

rd fs :r

s:d r df

:ra n ge
ain

Flight

r

an ge

Plane

rdfs:range

isFor
:d rdf s

rdf:Literal

om fs:d rd

hasPassenger
rd fs: r

ai om n

an

ge

Ticket Person
rdf s: d o
s: ra ng e

ma in

owns

rd f

© Fraunhofer IPSI

45

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
© Fraunhofer IPSI

46

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) 47

© 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
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

to (separately) re-use the three kind of models of a form
48

© 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 layer) Software Agent platform independent (database, Web User Interface Layer server)
Application Layer
authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

supports different types of UI agents (mobile phone, PDA, HTML-Browser, 49 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 bidirectional flexible (e.g. caching)
Software Agent

User Interface Layer Application Layer

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

authors
autho rs
id 1 2 3 4 na me Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

© Fraunhofer IPSI

50

Software Agent Flight Departure Flight Departure

<xforms:repeat nodeset="flights"> <xforms:select ref="start"/> <xforms:select ref="end"/> </xforms:repeat>
Flight Departure

<xforms:repeat nodeset="flights"> <xforms:select1 ref="start"/> <xforms:input ref="end"/> </xforms:repeat>

Flight Departure Flight Departure
Flight Departure Flight Departure

<xforms:repeat nodeset="flights"> <xforms:input ref="start"/> <xforms:input ref="end"/> </xforms:repeat>

Flight Departure

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

authors
authors
id 1 2 3 4 name Rudar Best Glue Hollow

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

id 1 2 3 4 5 6 7 8 9 10 11

name Rudar Best Glue Hollow Rudar Best Glue Hollow Rudar Best Glue

authors
id 1 2 3 4 name Rudar Best Glue Hollow

© Fraunhofer IPSI

7 8 9 10 11

authors
id 1 2 3 4 name Rudar Best Glue Hollow

7 8 9 10 11

51

XForms Example – SCHOLNET Project
<SearchForm> . . .

© Fraunhofer IPSI

<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"/> 52 </xforms:itemset> </xforms:select1>

XForms Example – SCHOLNET Project
<SearchForm> . . .

© Fraunhofer IPSI

<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> 53 </xforms:select1> <xforms:input ref="value"/>[<xforms:output

XForms Example – SCHOLNET Project
<SearchForm> . . .

© Fraunhofer IPSI

<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> 54 </xforms:select1> <xforms:input ref="value"/>[<xforms:output

Mapping and Semantic Domain Model (Views) VizCo

No of persons coursetransaction affiliation name affiliation address
R1 o 8: b
s R19: ha

c2: coursetransaction

8: R1

vehicle
s ha 6: R1

R

6:

as

R10: register

R10: reg ister

R8: h

0: ha s

affiliation

provider

has

R2

student

R 20:

R9: has

author R3: has

:h as

R1

author name

© Fraunhofer IPSI

R7: has
R5: sFrom

boo

ok

ha s

provider name

k

5: R1

person
R1

ha s

c3: person

number
7: i sA

R1 7:

isA

1: R2 s ha

1 R2 :h

c4: student
R14:has

person name

as

a3: person name

s ha 4: R1

person address

a4: person address mn

R4: has

course
R11: belo ng sTo
R h 2: as

a2: mn c1: course
R 11 : bel

coursedomain

ong

sT o

c5: coursedomain
R1 3:

title

price

coursedomain name

a1: title

ha s

Fuchs, Niederée, Hemmje, Neuhold, “Supporting Model-based Construction of Semantic-enabled Web Applications ”, 55 to appear in Proceedings of the 4th International Conference on Web Information Systems Engineering (WISE'03), Rome, December 2003

as :h 13 R

a5: coursedomain name