Semantic Computing Research Group
1
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
OntoViews – A Tool for Creating Semantic Web Portals
Eetu Mäkelä, Eero Hyvönen, Samppa Saarela and Kim Viljanen ([email protected])
Semantic Computing Research GroupHelsinki Institute for Information Technology (HIIT) & University of Helsinki, Dept. of Computer Science
http://www.cs.helsinki.fi/group/seco/
2nd prize
Semantic Computing Research Group
2
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The “Semantic Web” research project group (2002-2004)
• prof. Eero Hyvönen
• Miikka Junnila
• Suvi Kettula
• Eetu Mäkelä
• Samppa Saarela
• Mirva Salminen
• Ahti Syreeni
• Arttu Valo
• Kim Viljanen
Helsinki Institute for Information Technology& University of Helsinki
Helsinki, Finland
Hiroshima
Semantic Computing Research Group
3
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Research Consortium
National Boardof Antiquities
Espoo CityMuseum
Lahti CityMuseum
ANTIKVARIA GROUPHelsinki University
Museum
Co-operation with:Finnish National Gallery
Semantic Computing Research Group
4
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Topics
• The motivation behind OntoViews
• OntoViews from an end-user's perspective• Implementation• Summary
Semantic Computing Research Group
5
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The Motivation Behind OntoViews
• Much of the semantic web content will be published using semantic portals. Such portals usually provide the end-user with two basic services:
– A search engine based on the semantics of the content
– Browsing functionality based on the semantic relations in the underlying knowledge base
• In order to realize the promises of the Semantic Web, such a portal should be:
– Usable for an end-user
– Easily integrated and extended with additional functionality
– Usable with a variety of different devices
– Adaptable to a wide variety of semantic data
– Scalable to accommodate large amounts of data
– Able to provide its functionality also to other programs as Semantic Web Services
• We wanted to create a tool to create such portals
Semantic Computing Research Group
6
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Topics
• The motivation behind OntoViews
• OntoViews from an end-user's perspective• Implementation• Summary
Semantic Computing Research Group
7
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
OntoViews from an End-User's Perspective
• Search– A search engine based on the semantics of the content
– Usable for an end-user
– Easily integrated and extended with additional functionality
• Browsing– Browsing functionality based on the semantic relations in the underlying
knowledge base
• Layout adaptability– Usable with a variety of different devices
Semantic Computing Research Group
8
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
OntoViews from an End-User's Perspective
• Search– A search engine based on the semantics of the content: Concept-based
Multi-Facet and keyword search
– Usable for an end-user: Based on the tested and true Flamenco interface
– Easily integrated and extended with additional functionality: Seamless integration in the user interface of keyword and other searches
• Browsing– Browsing functionality based on the semantic relations in the underlying
knowledge base: Classification tree view, explicit semantic links in item view
• Layout adaptability– Usable with a variety of different devices
Semantic Computing Research Group
9
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
OntoViews from an End-User's Perspective
• Search– A search engine based on the semantics of the content: Concept-based
Multi-Facet and keyword search
– Usable for an end-user: Based on the tested and true Flamenco interface
– Easily integrated and extended with additional functionality: Seamless integration in the user interface of keyword and other searches
• Browsing– Browsing functionality based on the semantic relations in the underlying
knowledge base: Classification tree view, explicit semantic links in item view
• Layout adaptability– Usable with a variety of different devices
Semantic Computing Research Group
10
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
OntoViews from an End-User's Perspective: Layout
• Layout– Usable with a variety of different devices: Different user interfaces and
functionality for different devices
Semantic Computing Research Group
11
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Topics
• The motivation behind OntoViews
• OntoViews from an end-user's perspective• Implementation• Summary
Semantic Computing Research Group
12
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Data
The Architecture of OntoViews
OntoViews-C
Ontogator Ontodella
The User
Categories
-Category Projection Rules-Semantic Linking Rules-SWI-Prolog
-Layout-User Interaction Logic-Cocoon, Java, XML, XSLT
-Multi-Facet Search-Keyword Search-Java
-Data in RDF Format
– http: text/XHTML
– http: text/RDF
– file: text/RDF
– java: text/RDF
• Comprised of three main components:– Ontodella, a prolog-based logic server
– Ontogator, a java-based multi-facet search engine
– OntoViews-C, the main Apache Cocoon -based interaction and control component
Semantic Computing Research Group
13
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Implementation
• The Logic Server Ontodella– Adaptable to a wide variety of semantic data
• The Multi-Facet Search Engine Ontogator– Scalable to accommodate large amounts of data
– Easily integrated and extended with additional functionality
• OntoViews-C, the Interaction and Control Component– Easily integrated and extended with additional functionality
– Able to provide its functionality also to other programs as Semantic Web Services
Semantic Computing Research Group
14
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The Logic Server Ontodella
• Projects view-facets from the data to be used in search utilizing defined logic rules, for example:
ontodella_view( % Place of use
'http://www.cs.helsinki.fi/seco/ns/2004/03/places#earth', % Root URI
place_sub_category, % Subcategory Rule
place_of_use_item_mapping, % Item Mapping Rule
[fi:'Käyttöpaikka', en:'Place of Use'] % Label Definition
).
place_sub_category( ParentCategory, SubCategory ) :-
SubCategoryProperty = 'http://www.cs.helsinki.fi/seco/ns/2004/03/places#isContainedBy',
rdf( SubCategory, SubCategoryProperty, ParentCategory ).
place_of_use_item_mapping( ResourceURI, CategoryURI ) :-
Relation = 'http://www.cs.helsinki.fi/seco/ns/2004/03/artifacts#usedIn',
rdf( ResourceURI, Relation, CategoryURI ).
Semantic Computing Research Group
15
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The Logic Server Ontodella
• Projection adaptability has been tested with different data sets:– Museum item data and ontologies from the MuseumFinland
project– Yellow-page service provider data and ontologies from the
IWebS project
• A further Java-based development of the projection system has additionally been tested with:– Website data and categorisations from the dmoz.org directory
• Further work: Neither implementation currently supports adding or deleting of individual categories or items from the knowledge base
Semantic Computing Research Group
16
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The Logic Server Ontodella
• Semantically links individual items to each other by utilizing defined logic rules, for example:
same_user( Subject, Target, Explanation ) :-
ItemToUserRelatingProperty =
'http://www.cs.helsinki.fi/group/seco/ns/2004/03/artifacts#':user,
rdf( Subject, ItemToUserRelatingProperty, User ), % the users of our current item
not( some_instance_of_unknown( User ) ), % who are not unknown
rdf( Target, ItemToUserRelatingProperty, User ), % other items used by that user
viewable( TargetURI ), % make sure they are viewable
SubjectURI \= TargetURI, % don't link the item with itself
list_labels( [User], RelLabel ), % get a description of the linking resource
Explanation=[commonResources(RelationInstanceURI), label(fi:RelLabel)].
Semantic Computing Research Group
17
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Implementation
• The Logic Server Ontodella– Adaptable to a wide variety of semantic data: Facet hierarchy projection and
semantic link generation are based on extendable logic rules. The projection rules have been tested with three different data sets.
• The Multi-Facet Search Engine Ontogator– Scalable to accommodate large amounts of data
– Easily integrated and extended with additional functionality
• OntoViews-C, the Interaction and Control Component– Easily integrated and extended with additional functionality
– Able to provide its functionality also to other programs as Semantic Web Services
Semantic Computing Research Group
18
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Implementation
• The Logic Server Ontodella– Adaptable to a wide variety of semantic data: Facet hierarchy projection and
semantic link generation are based on extendable logic rules. The projection rules have been tested with three different data sets.
• The Multi-Facet Search Engine Ontogator– Scalable to accommodate large amounts of data
– Easily integrated and extended with additional functionality
• OntoViews-C, the Interaction and Control Component– Easily integrated and extended with additional functionality
– Able to provide its functionality also to other programs as Semantic Web Services
Semantic Computing Research Group
19
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The Multi-Facet Search Engine Ontogator
• Is a generic view-based RDF search engine– Defines and implements an RDF-based query interface
defined as an OWL ontology– Replies to queries in RDF/XML that has a fixed structure.– The query operations are based on category and item
selectors. The functionality of the engine can be extended by implementing new selector types (keyword search and geolocation search in OntoViews, for example)
• Has been tested with dmoz.org data to scale to up to 2.3 million items and 275.000 categories with search times of about 5 seconds.
• Future work: Does not yet scale well to accommodate multiple simultaneous users
Semantic Computing Research Group
20
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Implementation
• The Logic Server Ontodella– Adaptable to a wide variety of semantic data: Facet hierarchy projection and
semantic link generation are based on extendable logic rules. The projection rules have been tested with three different data sets.
• The Multi-Facet Search Engine Ontogator– Scalable to accommodate large amounts of data: Ontogator has been tested
with dmoz.org data to scale to up to 2.3 million items and 275.000 categories with search times of about 5 seconds.
– Easily integrated and extended with additional functionality: The architecture allows for extensions by implementing new types of selectors (keyword, geolocation). The RDF query model and fixed structure RDF/XML result allow for easy integration.
• OntoViews-C, the Interaction and Control Component– Easily integrated and extended with additional functionality
– Able to provide its functionality also to other programs as Semantic Web Services
Semantic Computing Research Group
21
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Implementation
• The Logic Server Ontodella– Adaptable to a wide variety of semantic data: Facet hierarchy projection and
semantic link generation are based on extendable logic rules. The projection rules have been tested with three different data sets.
• The Multi-Facet Search Engine Ontogator– Scalable to accommodate large amounts of data: Ontogator has been tested
with dmoz.org data to scale to up to 2.3 million items and 275.000 categories with search times of about 5 seconds.
– Easily integrated and extended with additional functionality: The architecture allows for extensions by implementing new types of selectors (keyword, geolocation). The RDF query model and fixed structure RDF/XML result allow for easy integration.
• OntoViews-C, the Interaction and Control Component– Easily integrated and extended with additional functionality
– Able to provide its functionality also to other programs as Semantic Web Services
Semantic Computing Research Group
22
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
The Interaction and Control Component OntoViews-C
• Built on top of the Apache Cocoon architecture– The Cocoon architecture is based upon the concept of
pipelines, comprised of modular components (generators, transformers and serializers) that consume and/or produce XML
– This forces a modular, reusable and extendable design
• In OntoViews, all components produce not only XML, but valid RDF/XML. This, along with a generator for handling HTTP requests, allows for the exposition of all parts of the system as Web Services
Semantic Computing Research Group
23
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Implementation
• The Logic Server Ontodella– Adaptable to a wide variety of semantic data: Facet hierarchy projection and
semantic link generation are based on extendable logic rules. The projection rules have been tested with three different data sets.
• The Multi-Facet Search Engine Ontogator– Scalable to accommodate large amounts of data: Ontogator has been tested
with dmoz.org data to scale to up to 2.3 million items and 275.000 categories with search times of about 5 seconds.
– Easily integrated and extended with additional functionality: The architecture allows for extensions by implementing new types of selectors (keyword, geolocation). The RDF query model and fixed structure RDF/XML result allow for easy integration.
• OntoViews-C, the Interaction and Control Component– Easily integrated and extended with additional functionality: Cocoon
architecture forces a modular, reusable and extendable design. All components operate independently, consuming and/or producing RDF/XML
– Able to provide its functionality also to other programs as Semantic Web Services: All subparts of the system are available to be used via Web Services
Semantic Computing Research Group
24
http://www.cs.helsinki.fi/group/seco/
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY
Summary – OntoViews is:
• A search engine based on the semantics of the content: Concept-based Multi-Facet and keyword search
• Browsing functionality based on the semantic relations in the underlying knowledge base: Classification tree view, explicit semantic links in item view
• Usable for an end-user: Based on the tested and true Flamenco interface
• Easily integrated and extended with additional functionality: Seamless integration in the user interface of keyword and other searches, the search architecture allows for extensions, and the Cocoon control architecture forces a modular, reusable and extendable design. All components operate independently, consuming and/or producing RDF/XML.
• Usable with a variety of different devices: Different user interfaces and functionality for different devices
• Adaptable to a wide variety of semantic data: Facet hierarchy projection and semantic link generation are based on extendable logic rules. The projection rules have been tested with three different data sets.
• Scalable to accommodate large amounts of data: OntoViews has been tested with dmoz.org data to scale to up to 2.3 million items and 275.000 categories with search times of about 5 seconds.
• Able to provide its functionality also to other programs as Semantic Web Services: All subparts of the system are available to be used via Web Services
• Future work: Ideas about dynamic facet creation, further optimizations to improve scalability
• Available for download at http://www.cs.helsinki.fi/group/seco/museums/dist/