Date post: | 01-Nov-2014 |
Category: |
Technology |
Upload: | marco-brambilla |
View: | 2,323 times |
Download: | 3 times |
Politecnico di MilanoDipartimento di Elettronica e Informazione
Building Semantic Web Portals with
WebMLMarco Brambilla and Federico M. Facca
ICWE 2007Como, 20th July 2007
http://home.dei.polimi.it/mbrambil http://twitter.com/MarcoBrambi
http://www.slideshare.net/mbrambil
2
Agenda
Introduction– Requirements for metamodels of Semantic Web
applications Extending WebML towards Semantic Web
– Evolving existing primitives– New Advanced units for ontology querying– Primitives for Ontology management– Example of Usage of Advanced Units
Case Study Example Implementation expirience Conclusions & Future Works
3
Introduction
Model-driven techniques aims to reduce the cost of design and implementation of software
The Semantic Web can benefit from Web Engineering field and viceversa– there’s a lack of well engineered solution in SW– SW technologies provide more “flexibility” and allow complex
reasoning task– Some effort have been already done: HERA, SHDM, …
A Web Portal is a Web site providing personalization to to its visitors and designed to use distributed data sources– One of the assumptions of Semantic Web is the use of
distributed data sources and reuse of existing ones
4
IntroductionRequirements for metamodels of Semantic Web applications
Support of semantic languages (OWL, RDF, WSML, …) Models should be “semantic”
– i.e., grant self-annotation and explicit semantic annotation extraction
Allow for flexible integration of heterogeneous sources and applications
Transformations towards a semantic query language– allowing for inference, verification, query on schema and
instances
Allow for (semi-)automatic annotation of generated Web pages
Support the import and reference of remote ontologies– reuse and sharing of the knowledge
5
Extending WebML towards Semantic Web
WebML methodology extended to support the new requirements
+ Reuse of existingontological data source
+ Specialized units foradvanced queries over
semantic data and annotation extraction
6
Extending WebML towards Semantic Web
WebML methodology extended to support the new requirements
Data Design
Presentation Design
Hypertext / Service Design
Business Requirements
Requirements Specification
Architecture Design
ImplementationTesting and Evaluation
Maintenance and Evolution
7
Extending WebML towards Semantic WebEvolving existing primitives
Existing units can be adapted for direct access to ontology– Changes in their “semantic” (query both on schemas and instances)
Ontology:MusicBrainzClass:Artist
Artist
instance uriclass uri
e.g. mf:Artist
Wines
Ontology:OwlWineClass:Wine […]
[…][…]
[…]
no inputclass uri
e.g. vin:RedWine
8
Extending WebML towards Semantic WebNew Advanced units for ontology querying
[ClassName1=?][ClassName2=?]
SubclassOf
[ClassName=?][Instance=?]
InstanceOf
[ClassName=?][Property=?]
HasProperty
[Property=?][Value=?]
Has PropertyValue
[Property1=?][Property2=?]
Subproperty Is x subproperty of y?Or: find subproperties/find superproperties
The list of URIs whereproperty p has value vOr: find values/find properties
Is x property of y?Or: find the properties/find the class
Is x an instance of y?Or: find instances/find classes
Is x subclass of y?Or: find subclasses/find superclasses
9
Extending WebML towards Semantic WebNew Advanced units for ontology querying
[ClassName=?][Instance=?]
InstanceOf
class uri instance uris
instace uri classes uris
instace & class uri boolean
[ClassName=?][Instance=?]
InstanceOf
[ClassName=?][Instance=?]
InstanceOf
10
Extending WebML towards Semantic WebPrimitives for Ontology management
[Set1] [Ç|È|- ] [Set2]
Set Composition
[OntologyURI]
ImportOntol.
[Ontological Query]
Describe
RDF
Ontology composition: union, intersection, difference Ontology importing: for direct query of existing ontologies Semantic description extraction: for extracting semantic
annotation of contents / pages
11
Extending WebML towards Semantic WebExample of Usage of Advanced Units
Artists PageSearch Page
ValSearch Similar InstanceOf
<Istance:=?><Class:=Artist>
[Property=mm:soundsLike][Value=?]
Has PropertyValue [uri]
OK
Artists
Ontology:MusicBrainzClass:Artist
[uri]
KO
The value submitted in the form is passed to the HasPropertyValue unitthat extracts a set of URIs of instances (albums or artists) with mm:soundsLike
property equal to Val. The InstanceOf unit that checks if theyare instances of the class Artist. The URIs are then shown in a list of Artists.
12
Case Study Example
User Home Page
Add Foaf Prof.
User[Selector: User.OID]
User Data
Get unit
UserCtx
Ontology:FoafClass:Person
[Filter: Person.uri]
Foaf ProfileUser.FoafUri
Import Ontology
[OntologyURI]
OntologyURIModify
User[Selector: User.OID]
<User.FoafUri := OntologyURI>
OntologyURI
OK
H
Suggestions Artist Details
Artist
Ontology:MusicBrainzClass:Artist
[Filter: Artist.uri]
Per
son
.Top
ic
Tracks
Ontology:MusicBrainzClass:Track
[Filter: Track.playedBy]
Ontology:MusicBrainzClass:Artist
[Filter: Artist.uri]
Artist Artist.uri
Artist.uri
Search by genre
HierarchicalIndex
Ontology:MusicMozClass:Genre
L
Artist
Ontology:MusicBrainzClass:Artist
[Filter: Artist.hasGenre]
Genre.uri
Artist.uri
SubClassOf
<Class1:=?><Class2:=Genre.uri>
SubClasses
Describe
RDF
<Uri: Artist.uri>Artist.uri
13
Implementation expirience
Current extension is for RDF/OWL and uses SPARQL queries
New set of runtime components created to support semantic data sources based on Jena API and Pellet
Modeling environment extended for the use of the new units
OntologyModelServiceAbstractOntologyQuery
Service
AbstractSelectQueryService
AbstractDescribeQueryService
<<uses>>
OntoIndexUnitServiceSubClassOfUnitService DescribeUnitService
<<uses>>
ImportUnitService
<<uses>>
SetCompositionUnitService
<<uses>>
AbstractAskQueryService
AskQueryUnitService
<<uses>>
Data Access Layer
Abstract Query Layer
Unit Layer
14
Implementation expirience
15
Implementation expirience
The automatic code generation phase is based on the generation of configuration files for the generic components
The transformation from design time descriptor to runtime descriptor is based on XSLT
Design Time Descriptor Runtime Descriptor<SWINDEXUNIT class="mf:Track" id="swinu1"
name="Tracks" ontology="onto1">
<DisplayedProperties
property="mf:title"/>
<DisplayedProperties
property="mf:descripion"/>
<SortProperties order="ascending"
property="mf:title"/>
<Filter boolean="or">
<FilterCondition id="fselector1"
property="mf:playedBy"
predicate="eq" name="Artist"/>
</Filter>
</SWINDEXUNIT>
<descriptor service="org.webml.onto.
SWIndexUnitService">
<onto>onto1</onto>
...
<input-params>
<input-param type="mm:Artist"
name="swdau2.rdf:ID" />
</input-params>
...
<query type="SELECT">
SELECT DISTINCT ?instance ?p1 ?p2
WHERE {?instance rdf:type mm:Track .
?instance mm:title ?p1 .
?instance mm:descriptor ?p2 .
?instance mm:playedBy ?fs1 .
FILTER (?fs1 = $swdau2.rdf:ID$)}
ORDER BY DESC(?p1)
</query>
</descriptor>
16
Conclusions & Future Works
Good abstractions are still valid even when new technologies become available
Schema querying become relevant in the context of Semantic Web and Models should provide support for it
Semantic Web introduces new query “types” and metamodels for Web applications should deal with this
Our solution is missing a real integration layer for better allowing seamless integration of the different datasources
Current implementations suffers performance issue when executed the first time
Thanks for the attention!
For comments or questions:Marco Brambilla
Politecnico di Milano
Dipartimento di Elettronica e Informazione
Resources:http://home.dei.polimi.it/mbrambil
http://marcobrambi.blogspot.com
http://twitter.com/MarcoBrambi
17
http://home.dei.polimi.it/mbrambil http://twitter.com/MarcoBrambi
http://www.slideshare.net/mbrambil