240 likes | 337 Views
2nd prize. OntoViews – A Tool for Creating Semantic Web Portals. Eetu Mäkelä , Eero Hyvönen, Samppa Saarela and Kim Viljanen (firstname.lastname@helsinki.fi)
E N D
2nd prize OntoViews – A Tool for Creating Semantic Web Portals Eetu Mäkelä, Eero Hyvönen, Samppa Saarela and Kim Viljanen (firstname.lastname@helsinki.fi) Semantic Computing Research Group Helsinki Institute for Information Technology (HIIT) & University of Helsinki, Dept. of Computer Science http://www.cs.helsinki.fi/group/seco/
Helsinki Institute for Information Technology & University of Helsinki Helsinki, Finland Hiroshima 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
Espoo CityMuseum National Boardof Antiquities Lahti CityMuseum ANTIKVARIA GROUP Research Consortium Helsinki University Museum Co-operation with:Finnish National Gallery
Topics • The motivation behind OntoViews • OntoViews from an end-user's perspective • Implementation • Summary
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
Topics • The motivation behind OntoViews • OntoViews from an end-user's perspective • Implementation • Summary
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
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
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
OntoViews from an End-User's Perspective: Layout • Layout • Usable with a variety of different devices: Different user interfaces and functionality for different devices
Topics • The motivation behind OntoViews • OntoViews from an end-user's perspective • Implementation • Summary
– http: text/XHTML • Layout • User Interaction Logic • Cocoon, Java, XML, XSLT OntoViews-C Ontogator • Multi-Facet Search • Keyword Search • Java • Category Projection Rules • Semantic Linking Rules • SWI-Prolog Ontodella Categories Data • Data in RDF Format The Architecture of OntoViews • 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 The User – java: text/RDF – http: text/RDF – file: text/RDF
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
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 ).
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
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)].
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
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
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
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
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
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
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
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/