Semantic Computing Research Group
University of Helsinki
http://www.cs.helsinki.fi/group/seco/
1
SemCocoon – A Semantic CocoonOntoView – Portal System of MuseumFinland
Eetu Mäkelä ([email protected])
Semantic Computing Research Group
University of Helsinki 2
http://www.cs.helsinki.fi/group/seco/
Topics
• What are SemCocoon and OntoView, and what are they useful for?
• SemCocoon– The structure and use of Cocoon-pipelines– The Cocoon-components of SemCocoon
• OntoView– Applying OntoView to new material– The logical and implementation architecture of OntoView– The Cocoon-pipelines of OntoView– The components of the OntoViewn Cocoon-pipelines
Semantic Computing Research Group
University of Helsinki 3
http://www.cs.helsinki.fi/group/seco/
SemCocoon vs. OntoView
• SemCocoon is a Cocoon-based environment for the creation of modular, semantic and Web Services -compatible XML-based applications.
• OntoView ≈ MuseumFinland, A tool for creating MuseumFinland type semantic web portals, based on SemCocoon, and including also Ontogator and Ontodella.
Cocoon: http://cocoon.apache.org/
Semantic Computing Research Group
University of Helsinki 4
http://www.cs.helsinki.fi/group/seco/
The Cocoon components of SemCocoon
• SemCocoon is an extended stand-alone distribution of Cocoon 2.1.3, with added components that enable Web Services- and Semantic Web-functionality, along with other minor enhancements.
• The Cocoon components of SemCocoon– Base classes– Web Services –components– Semantic Web –components– Other components
Semantic Computing Research Group
University of Helsinki 5
http://www.cs.helsinki.fi/group/seco/
The Structure and Use of Cocoon Pipelines
• A single pipeline is comprised of a single generator, zero or more transformers and one serializer.
• Pipelines can also aggregate results from multiple subpipelines.
• Every component in the pipeline after the generator and before the serializer consumes and produces XML (=SAX events).
• Forces a modular design.
• Are defined in the sitemap.xmap file.
Lisätietoa: http://cocoon.apache.org/2.1/userdocs/concepts/index.html
Semantic Computing Research Group
University of Helsinki 6
http://www.cs.helsinki.fi/group/seco/
Base Classes
• NullTransformer – Swallows all input and produces nothing.
• AbstractSerializedXMLTransformer – Serializes all incoming XML into a string. Usage requires the implementation of a generate method which uses the string to generate SAX-events.
Semantic Computing Research Group
University of Helsinki 7
http://www.cs.helsinki.fi/group/seco/
Web Services –components
• Allow Cocoon-pipelines and components to be used over the network– CacheableStreamGenerator – parses XML from inside a
HTTP-request into SAX-events. Used for implementing Web Services.
– XMLHTTPServerTransformer – Sends its input inside a HTTP-request to a server, and generates SAX-events from the respones. Used for calling Web Services
– QueryGenerator – Parses any RDF-format from a HTTP-request into RDF/XML SAX-events
Semantic Computing Research Group
University of Helsinki 8
http://www.cs.helsinki.fi/group/seco/
Semantic Web -components
• Implement the semantic functionality– OntodellaServerTransformer – Takes an URI from a
configured XML-element attribute and queries the Ontodella server with that URI.
– OgtTransformer – A Local Ontogator view-based search server wrapped in a Cocoon-transformer.
– QueryGenerator can also be seen as a Semantic Web component in addition to a Web Services component
Semantic Computing Research Group
University of Helsinki 9
http://www.cs.helsinki.fi/group/seco/
Other Components
• LoggingTransformer – Saves incoming XML into a log file, and optionally forwards it.
• SmartImageReader – An improvement on the ImageReader in basic Cocoon, with additional configuration options and supporting more image formats.
Semantic Computing Research Group
University of Helsinki 10
http://www.cs.helsinki.fi/group/seco/
OntoView
• A tool for building MuseumFinland -like semantic web portals
• Applying OntoView to new data requires– Ontologies to be used in the projection of categories.– Item data annotated to the ontologies– Prolog rules for projecting the categories– Prolog rules for the creation of semantic links– An Ontodella run– An XSLT-sheet for the layout
Semantic Computing Research Group
University of Helsinki 11
http://www.cs.helsinki.fi/group/seco/
The Architecture of OntoView
User Interface
Ontogator Ontodella
data
the user
categories
-category projection rules-semantic linking rules
-layout-user interaction logic-cocoon, java, xml, xsl
-multiview based search-keyword search-java -data in RDF format
http: text/RDF
Logical Structure:
Implementation Structure:
SemCocoon:•Ontogator•User Interfacethe user
SWI-Prolog:
Ontodellacategories – file: text/RDF
semantic links - http: text/RDF
data
– file: text/RDF– http: text/HTML
Semantic Computing Research Group
University of Helsinki 12
http://www.cs.helsinki.fi/group/seco/
The Cocoon pipelines of OntoView
Semantic Computing Research Group
University of Helsinki 13
http://www.cs.helsinki.fi/group/seco/
The Components of OntoView
• Content: – categories.rdf: The category projection file produced by Ontodella for OntoView.
• Generators:– ustateGen.xsp: create an XML-representation of user state– ogtRootQuery.rdf: Ontogator root query
• Transformers:– User Interaction Logic:
• ustate.xslt: Produces final user state by combining multiple data sources– Ontogator:
• ogtHelper.xslt: helper file for creating Ontogator queries• ogtPreQuery.xslt: helper query for constraining the actual Ontogator search query• ogtSearchQuery.xslt: Transforms the user state into an Ontogator query for categories and
bookmarks• ogtItemQuery.xslt: Transforms the user state into an Ontogator query for item details• ogtTreeQuery.xslt: Transforms the user state into an Ontogator query for getting a category tree• ogtItemsQuery.xslt: Transforms the user state into an Ontogator query for details on all items
– User Interface/layout:• xhtmlHelper.xslt: helper file for UI XSLT transformations• [mobile/web]Main.xslt: Transforms an appropriate Ontogator-response into a main/search page• [mobile/web]Item.xslt: Transforms an appropriate Ontogator-response into an item page• [mobile/web]Tree.xslt: Transforms an appropriate Ontogator-response into a tree view page• [mobile/web]Muinainen.xslt: Transforms an appropriate Ontodella-response into a historic site
page• webItems.xslt: Transforms an appropriate Ontogator-response into a page containing all item
data
Semantic Computing Research Group
University of Helsinki 14
http://www.cs.helsinki.fi/group/seco/
Summary
• SemCocoon– A basis for creating XML-based semantic and/or Web
Services -compatible applications.– Forces a modular design, with generic, easily reusable and
extendable components.– Requires that application logic can be formalized as Cocoon-
pipelines and the application datamodel as XML.
• OntoView– A tool for creating MuseumFinland -type semantic web
portals.– Requires ontologies and data in RDF-format, experience in
the creation of prolog-rules, and experience with XSLT for layout (but could quite easily be modified to get rid of the last two conditions)
Top Related