powl – features and usage overviewpowl.sourceforge.net/swc/powl_usage.pdf · powl – features...

16
pOWL – Features and Usage Overview Live demonstrations and further information is available from: http://powl.sourceforge.net/swc Sören Auer University of Leipzig [email protected] Norman Beck Mellow Message Medienproduktion GmbH [email protected] Introduction ........................................................................................................................................................ 1 Features Overview ......................................................................................................................................... 1 Usage Overview ................................................................................................................................................ 3 Models in pOWL’s Store ................................................................................................................................ 3 Viewing and Editing Model Data .................................................................................................................... 4 Triples View ................................................................................................................................................ 4 Database View ........................................................................................................................................... 5 Description Logic Axioms View .................................................................................................................. 6 Serialization View ....................................................................................................................................... 7 RDQL Querying Models ................................................................................................................................. 7 Full-text Search Models ................................................................................................................................. 8 Observing Model Evolution ............................................................................................................................ 9 Use Case: Semantic Web Enhanced Content Management .......................................................................... 10 Structured Content ....................................................................................................................................... 11 Website Page Structure ............................................................................................................................... 12 Layout .......................................................................................................................................................... 13 Rendered Website ....................................................................................................................................... 14 HTML Representation of Structured Content .............................................................................................. 15 Semantic Web Enhanced Search ................................................................................................................ 16 References ...................................................................................................................................................... 16 Introduction The broad application of ontologies as shared terminological knowledge representations is one of the main strategies of the semantic web paradigm. With OWL (Web Ontology Language [5]) there exists now a W3C standard for defining web enabled ontologies which fits in the semantic layering of web languages. Although there are some OWL ontology management solutions available, most of them are complicated to deploy or handle, do not support strategies for collaborative, distributed development of ontologies, are not Open Source or are not available for the most distributed web technologies. Since PHP ([2]) is by far the most distributed web development technology (as regularly confirmed by Netcraft [3]), the semantic web paradigm will probably only be successful in a broad perspective if there are applications and tools available tightly interacting with this language. The goal of this document is to give an overview on pOWL [7], a PHP founded, web-based ontology management solution. pOWL’s aim is to deliver an easy-to-deploy and easy-to-use, scalable framework and toolset to the Open Source community, covering the whole ontology lifecycle. Despite the fact that pOWL is in late beta quality stage it is already productively used in several projects and downloaded 400 times in the last 6 months from the project website [1]. A final production grade version 1.0 will be published October 15 th . As a use case, we present the application of pOWL to semantic web content management and how it may be used as a foundation framework for semantic web applications. Thus pOWL promotes recent semantic web technologies in the huge web development community. A document describing features and technical aspects of pOWL in more detail may be found at [7]. Features Overview Geographically distributed work with ontologies Models may be accessed from public model repositories and directories; they may be imported to pOWL’s store with one click (see screenshot 1 point 5). Different pOWL installations may share models by using WebServices. Every pOWL installation has a registry of neighbouring pOWLs and in conjunction with their registries many geographically distributed pOWL installations constitute a peer-to-peer network. For easy publishing and accessing models pOWL further includes a NetAPI [4] implementation (W3C Member Submission).

Upload: others

Post on 21-Mar-2020

46 views

Category:

Documents


1 download

TRANSCRIPT

pOWL – Features and Usage Overview

Live demonstrations and further information is available from: http://powl.sourceforge.net/swc

Sören Auer University of Leipzig

[email protected]

Norman Beck Mellow Message Medienproduktion GmbH

[email protected]

Introduction ........................................................................................................................................................ 1 Features Overview......................................................................................................................................... 1

Usage Overview ................................................................................................................................................ 3 Models in pOWL’s Store ................................................................................................................................ 3 Viewing and Editing Model Data .................................................................................................................... 4

Triples View................................................................................................................................................ 4 Database View ........................................................................................................................................... 5 Description Logic Axioms View .................................................................................................................. 6 Serialization View ....................................................................................................................................... 7

RDQL Querying Models................................................................................................................................. 7 Full-text Search Models ................................................................................................................................. 8 Observing Model Evolution ............................................................................................................................ 9

Use Case: Semantic Web Enhanced Content Management .......................................................................... 10 Structured Content ....................................................................................................................................... 11 Website Page Structure ............................................................................................................................... 12 Layout .......................................................................................................................................................... 13 Rendered Website ....................................................................................................................................... 14 HTML Representation of Structured Content .............................................................................................. 15 Semantic Web Enhanced Search ................................................................................................................ 16

References ...................................................................................................................................................... 16

Introduction The broad application of ontologies as shared terminological knowledge representations is one of the main strategies of the semantic web paradigm. With OWL (Web Ontology Language [5]) there exists now a W3C standard for defining web enabled ontologies which fits in the semantic layering of web languages. Although there are some OWL ontology management solutions available, most of them are complicated to deploy or handle, do not support strategies for collaborative, distributed development of ontologies, are not Open Source or are not available for the most distributed web technologies. Since PHP ([2]) is by far the most distributed web development technology (as regularly confirmed by Netcraft [3]), the semantic web paradigm will probably only be successful in a broad perspective if there are applications and tools available tightly interacting with this language. The goal of this document is to give an overview on pOWL [7], a PHP founded, web-based ontology management solution. pOWL’s aim is to deliver an easy-to-deploy and easy-to-use, scalable framework and toolset to the Open Source community, covering the whole ontology lifecycle. Despite the fact that pOWL is in late beta quality stage it is already productively used in several projects and downloaded 400 times in the last 6 months from the project website [1]. A final production grade version 1.0 will be published October 15th. As a use case, we present the application of pOWL to semantic web content management and how it may be used as a foundation framework for semantic web applications. Thus pOWL promotes recent semantic web technologies in the huge web development community. A document describing features and technical aspects of pOWL in more detail may be found at [7].

Features Overview Geographically distributed work with ontologies Models may be accessed from public model repositories and directories; they may be imported to pOWL’s store with one click (see screenshot 1 point 5). Different pOWL installations may share models by using WebServices. Every pOWL installation has a registry of neighbouring pOWLs and in conjunction with their registries many geographically distributed pOWL installations constitute a peer-to-peer network. For easy publishing and accessing models pOWL further includes a NetAPI [4] implementation (W3C Member Submission).

pOWL – Features and Usage Overview 2

Diverse ownerships pOWL has an authentification scheme which supports fine grained exposition of features and model data: Privileges (view, edit) for users and groups can be assigned to models and other resources such as classes properties and instances. Support of heterogeneous data and formal description of its meaning By staying as close as possible to the W3C semantic web standards, pOWL inherently supports heterogenous data and its formal description. Syntactically pOWL may import and export model data in different serialization formats (RDF/XML, N3, N-Triple), structurally pOWL allows viewing and editing model data from different points of view (DL axioms, database like or RDF statements), and semantically pOWL supports integrating models of different semantic domains. The latter is shown in more detail in the example of content, structure and layout ontologies in a use case on semantic web content management. Real world data Alltrough pOWL is a quite generic application which does not come with or is restricted to any special data, the pOWL semantic web content management use case and the pOWL examples show how pOWL may be used with real world data. A further use case on how to apply pOWL for semantic web services in conjunction with OWL-S is in preparation. Support of the open world assumption pOWL supports the open world assumption in that model data may be continuously changed. By logging all editing actions (associated with date/time, editor, affected resource and additional versioning comments) and enabling users to selectively roll-back distinct editing actions pOWL actively supports knowledge base revision and its control. Accessibility in multiple languages All pOWL user interface messages are translatable into arbitrary languages. pOWL itself comes with English and German translations of the user interface; French and Russian translations are started but not yet finished. pOWL further uses language specific information in the models to be edited (such as labels and comments for arbitrary resources) to present the model to the user in his preferred language. Accessibility via devices other than the PC pOWL may be accessed in numerous ways: By using the API or the Webservice interface pOWL may be accessed by or integrated into arbitrary applications on arbitrary devices. pOWL’s widgets and user interface API (see tutorials at the pOWL website) may be used to rapidly develop specialized markup based user interfaces e.g. for mobile devices (e.g. in WML for WAP-Devices or a simple plain HTML interface for PDAs). The user interface delivered with pOWL may be accessed by any device capable of rendering XHTML and Javascript (although its currently mainly tested in Mozilla and Internet Explorer). Scalability pOWL is designed to work with ontologies of arbitrary size (only limited by disk space). This requires that only those parts of the ontology are loaded into main memory which are required to display the information requested by the user on the screen (to render a web page containing this information). Special efforts are done to realize this for the subsumption tree view of classes. The following benchmarks were taken on a recent system (Pentium 4, 2.8 Ghz, 512 MB RAM) with the WAMP (Windows, Apache, PHP, MySQL) software installed. The only optimization of the system was to enable MySQL's query cache. By further optimization (especially OPcode Caching as Zend Accelerator, APC or MMCache provide) significant speed improvements may be possible.

Model Triple count Import time Classes Subsumption Hierarchy Calulation

Wordnet1 473 528 624 s 6 0.30 s NCI Cancer Ontology2 463 878 597 s 27 652 0.46 s

UNSPSC3 82 500 82 s 16 499 1.06 s In terms of distributed components working together pOWL is scalable since all functionality is accessible by clean, mostly object oriented, layered application programming interfaces (APIs). Sophisticated widgets for data editing (e.g. widgets for editing HTML in a WYSIWIG manner or for dates) are integrated. Through its module- and plugin-concept pOWL is very easily extensible. Inference capabilities Benefits of inference capabilities of the SW-languages are to be found in the class subsumption hierarchy calculation and the semantic search engine integrated into pOWL’s CMS module. The latter suggests search refinements according the results found and presents them to the web-site visitor (see page 16).

1 http://www.semanticweb.org/library/wordnet/ 2 http://www.mindswap.org/2003/CancerOntology/ 3 http://www.cs.vu.nl/~mcaklein/unspsc/

pOWL – Features and Usage Overview 3

Usage Overview

Models in pOWL’s Store The pOWL user interface is divided in three (or more) frames: The pOWL-menu frame on top, a frame displaying the functionality of a selected tab (below left) and a documentation frame (on the right side – not shown in the screenshots). The Models-tab loaded directly after logging into pOWL gives an overview over models in pOWL’s store:

1 Select the model you want to work with. 2 Choose a tab to access the model’s RDF triples, classes, properties, instances, to RDQL

query or full-text search the model or observe the model evolution (Version-tab) 3 Edit the model’s meta information like comments or annotations or other models to import 4 Create a new empty model or import an existing model by uploading a file or giving pOWL a

URL where to download the model (supported formats are RDF/XML, N3, N-Triples) 5 If you are looking for a model providing distinct concepts, pOWL may access geographically

distributed public model repositories and directories for you on the web (currently schemaweb.info), enabling you to import an appropriate model with one click.

6 Models in pOWL’s store may be exported as files (supported formats are RDF/XML, N3, N-Triples)

pOWL – Features and Usage Overview 4

Viewing and Editing Model Data From the programmer’s as well as from the knowledge engineer’s or user’s point of view an OWL knowledge base may be seen in quite different ways:

Triples View Triples or RDF statements are related to natural language sentences consisting of subject, predicate and object. Subjects, predicates and objects may be resources, i.e. universally unique concept or entity identifiers. An object may furthermore consist of data typed literal values, so called literals. In RDFS and OWL such statements or RDF triples are used to define higher level objects like classes, properties and instances and establish relations between them. pOWL supports this view on the knowledge base by enabling the user to view all RDF statements (having a currently selected resource as subject, predicate or object).

1 Use the filter options to restrict the displayed RDF triples to only those matching a distinct

search string in subjects, predicates and/or objects. 2 Configure how many results should be displayed – setting will be preserved across sessions. 3 Select rows (triples) to perform some action on them (e.g. delete). 4 Edit a distinct triple. 5 Search and replace (parts of) resource URIs.

pOWL – Features and Usage Overview 5

Database View An OWL knowledge base may be seen like an object-relational database. The following table establishes an informal correspondence between concepts in ontological knowledge representation and object-relational databases:

RDFS/OWL concept (O)RDBMS conceptClasses Tables

Properties Cols Instances Rows

To view a knowledge base in database manner, a highly configurable and filterable “instance overview” arranges instances of a class in a tabular view. Further instances may be exported and imported in spreadsheet and database compatible CSV format. The programmer is supplied with the SQL inspired declarative query language RDQL and methods for database like operations on instances.

1 Choose “Instances overview” to view instances in a tabular manner. If the radio button nearby

is checked, this will be the default action when selecting some other class. 2 Use the arrows near the column caption to move a column left or right and thus customize the

view. 3 Columns may be disabled in the instances overview. 4 Of course they may be enabled again. 5 Instances may be filtered according to values of their properties. 6 You can import or export instances in spreadsheet and database compatible CSV format.

pOWL – Features and Usage Overview 6

Description Logic Axioms View The following table shows some examples how RDFS/OWL properties correspond to Description Logic concepts:

Sign RDFS/OWL property DL concept SignΠsubClassOf

subPropertyOf Implication →

allValuesFrom For all " » unionOf Disjunction .

The pOWL user interface provides special widgets supporting the user in viewing and editing class construction, property restriction and individual identity axioms. These widgets are bound to corresponding OWLAPI calls providing this functionality on the API level.

1 Select a label language or annotation property to use for displaying classes in the tree. 2 Select a class to view or edit its definition; the plus sign may be used to expand subclasses. 3 View or edit cardinality constraints for a property at the selected class. 4 Add or edit HasValue, SomeValuesFrom or AllValuesFrom restrictions for a property at the

selected class. 5 Use the [s]-sign to select additional resources for this particular aspect of the class

description. 6 Use the [+]-sign to expand the form, e.g. to add a versioning comment.

pOWL – Features and Usage Overview 7

Serialization View For RDF abstract syntax, which is the core of all models in pOWL, there are different serialization formats: RDF/XML, N3, N-Triple. pOWL supports viewing and editing all parts of the ontology (classes, properties and instances with associated information) in these formats.

RDQL Querying Models RDQL is an implementation of an SQL-like query language for RDF. It treats RDF as data and provides query with triple patterns and constraints over a single RDF model [14]. pOWL enables users to freely formulate their queries or use the integrated query builder to question the knowledge base. It constraints the users input to only those values which make up a syntactically correct RDQL query, furthermore the user may only select resource and namespaces available in the knowledge base.

1 Select a query building method: RDQL queries may be built using the query builder (as shown

above), they may be edited in a text field or loaded from the system ontology when formerly saved.

2 Patterns for triples to match may be given in the where clause. 3 You may use the integrated resource selector which advertises only valid resource URIs

occurring in the model at the selected position. 4 Further triple patterns may be given using the [+]-sign to expand the form. 5 Additional restrictions may be given in the and-clause (please have a look at the RDQL

tutorial shown in the documentation frame for details). 6 Click on the icon to view the selected resource.

pOWL – Features and Usage Overview 8

Full-text Search Models A full-text search for literal values or resource names is incorporated into pOWL.

1 Supply the search string and select what to search for. Boolean operators and pattern

matching may be used in the search string (please have a look at the full-text search tutorial shown in the documentation frame for details).

2 Browsing through results. 3 Matching sub-strings are highlighted. 4 Click on the icon to view the selected resource.

pOWL – Features and Usage Overview 9

Observing Model Evolution To enable domain experts to collaboratively develop shared conceptualizations based on the Ontology Web Language a key requirement is to support a sophisticated versioning strategy. Every editing action can be decomposed into smaller editing actions and finally into adds and removes of RDF triples to or from the RDF model.

1 Every editing action is logged with the exact date and time and initiating user. 2 Use the [+]-sign to expand details of an editing action. These may include a comment of the

editor and all added or removed statements or eventual sub-editing actions. 3 Added statements are marked with a “+”-sign before the row. 4 Every particular action may be rolled back, if the added (removed) statements are still present

(missing). 5 Other versioning operations include shifting the model to a state at a particular time point.

pOWL – Features and Usage Overview 10

Use Case: Semantic Web Enhanced Content Management Web Content Management is an area for which distributed, collaborative and browser-based editing of content and knowledge bases is crucial. To show the advantages of pOWL in this area, a module was prototypically developed implementing a new ontology based Content Management approach. One of the main Content Management concepts is the separation of structure, content and layout. This is realized by defining different ontologies representing such information. These may be filled with concrete data and enhanced using pOWL which is shown in the following pages. pOWL’s API framework is used to extract this knowledge from pOWL’s store and combine it with web-page templates to render the resulting website. The advantages of this approach in contrast to the commonly used web-page centric approach include:

• Information to be published on a website may be organized and structured using all features provided by the Semantic Web knowledge representation standards (RDF, RDFS and OWL).

• Common class definitions such as for publications (BibTex), contact information (VCard) or Events

(VCal) are worldwide uniquely reference- and easily extendable. • Content syndication is extremely simplified – content ontologies may be published (e.g. using the

included RDF NetAPI) and reused without loosing information or having conversion overhead.

• Adding specific content is reduced to define an appropriate OWL class and fill it with instances. About every thing else cares pOWL (e.g. form generation for data editing, versioning).

• How content should be displayed may be defined in a very flexible way: Layout templates (how to

render class instances in a web page) are related to the class definition or even more flexible to the properties. This layout information is of course inherited through sub-classes and sub-properties.

• User searches in the web-site content can be supported by suggesting classes (categories) to

restrict the search to and thus to semantically refine the search.

• Creating multilingual websites is very easy and does not require copying data, since the RDF support for adding a language identifier to literals is used.

This Chapter describes at the concrete usage scenario of adding content to a University chair website the usage of the pOWL Content Management module. A more detailed article (in German) on the pOWL CMS approach will be found in [6] and is available from the pOWL’s Semantic Web Challenge application website. An English translation of the article is in preparation.

pOWL – Features and Usage Overview 11

Structured Content As stated in the introduction of this chapter content may be structured more fine grained as conventionally segmenting it into different web pages. This of course makes only sense if similar structured content is found in different places (on different web-pages). This similarity is described by an OWL class which should be defined or imported as described in the first Chapter of this document. If this class is defined to be a sub-class of “content:Content”, special properties ( “content:contentStatus” and “content:contentWorkflowStatus”) are inherited.

1 Content is organized in OWL classes. 2 Choose or create an instance. 3 Edit the content by filling out the values of its properties. The property ‘ContentDetail’ in this

example can be edited by using the integrated HTML WYSIWYG editor. 4 The special properties “content:contentStatus” and “content:contentWorkflowStatus” describe

the visibility for arbitrary web-site visitors and the position in the content life cycle.

pOWL – Features and Usage Overview 12

Website Page Structure This screenshot shows the Web Content Management module in pOWL. This module enables editing the tree-like website page or navigation structure, which is mapped to instances of the “structure:page” class. Every page in fact is one such instance, the properties “structure:pageChildOf” and “structure:pagePosition” specify the position in the page tree. The CMS module is only needed to make editing more convenient. The editing frame is divided into two parts: The first part (“Structure”) provides information over the position of the page. The second part (“Content”) allows choosing a class which’s instances should be arranged as overview and/or editing unstructured page content with the integrated WYSIWYG HTML editor.

1 Choose the page which should be edited or add a new one by clicking on ‘Add Page’ 2 Define structure information of the page (position in the page tree, which is shown as

navigation on the website). 3 If the page should contain an overview over instances of a specific class select the class here. 4 Define additional unstructured content with the WYSIWYG editor. This content will be shown

on top of the page.

pOWL – Features and Usage Overview 13

Layout To edit the layout of the website go back to the ‘Instances’ pane in the top menu and choose a template class. “layout:ClassTemplate” and “layout:PropertyTemplate” instances describes how instances of a class respectively property values should be rendered as HTML snippets. This step is optional since the default templates should be appropriate in most cases.

1 Choose the class ‘ClassTemplate’ for editing the template of a content class, the class

‘PropertyTemplate’ for editing the template of a property or choose the class ‘OverviewTemplate’ for editing the template of an overview page defining how multiple instances should be rendered in a combined view.

2 Choose or create an instance. 3 Edit the template definition (HTML source code with specified markers for the classes

property values) and relate it to a content class (property respectively) which should be rendered with the given template definition by choosing it as property value for the property “layout:templateResource”.

pOWL – Features and Usage Overview 14

Rendered Website Combining the information of content, structure and layout (edited in the last 3 steps) results in a web-site page shown here. The following screenshot exposes an instance overview page which shows a list of instances from the content class ‘Projects’.

1 The website navigation menu is created dynamically with the specified language labels. Page

‘Projects’ is currently shown. 2 The content edited using the WYSIWYG HTML editor. 3 The instance overview. Each entry is linked with an appropriate detail page (see next page).

pOWL – Features and Usage Overview 15

HTML Representation of Structured Content This is the detail page for the chosen instance from the overview page.

1 Select a language the page is available for. 2 The label of the instance in the selected language. 3 The value of ‘ContentDetail’ edited with the WYSIWYG editor. 4 The field ‘Contact’ is the value of the property ‘ProjectMember’. This property has its own

property template and is linked to another instance (“kpf”) with label ‘Klaus Peter Fähnrich’.

pOWL – Features and Usage Overview 16

Semantic Web Enhanced Search This page shows the results of a search for the word ‘logic’. Each item of the result is linked to its detail page. Search results can be filtered (for distinct content classes) by using the drop-down-box on the right side.

1 Search string. Boolean operators may be used. 2 A search result matching the search string corresponds to an unstructured content page or an

instance of a content class where at least one property value matches the search string. A specific search result combines: the instance label (title) linked with the corresponding detail page; an excerpt from the matching literal value with the search string highlighted; a relevance rating in percent and a link to search for other instances of the same content class.

3 Drop down box with the classes (for convenience here labelled categories) of all result items. By selecting a class (category) the search will be filtered and only results that are instances of the chosen class or one of its subclasses are shown. In the given example the pOWL WCMS semantic search engine detected the search string “logic” in instances of the “bibTeX:Entry”, “bibTeX:Inproceedings”, “bibTeX:Misc” and “bibTeX:Article” classes and correspondingly suggests possible semantic refinements.

References [1] Auer, S.: pOWL Homepage, The Web, 2004, http://powl.sourceforge.net/ [2] The PHP Group: PHP Homepage, http://www.php.net. [3] Netcraft Web Server Survey, http://www.netcraft.com/Survey/ [4] Moore, G., Seaborne, A.: RDF Net API, W3C Member Submission, 2. October 2003.

http://www.w3.org/Submission/2003/SUBM-rdf-netapi-20031002/ [5] Patel-Schneider, P., Stein, L.: Web Ontology Language (OWL) Reference version 1.0.

Recommendation, W3C (2004), http://www.w3.org/TR/owl-ref/. [6] Auer, S., Beck, N.: Semantic Web Content Management, To be published in “Proceedings of LIT04”,

Akademische Verlagsgesellschaft Berlin, Imprint Infix. [7] Auer, S.: pOWL – A Web Based Platform for Collaborative Semantic Web Development, Submitted for

Workshop, “Evaluation of Ontology-based Tools”, 2004, (http://powl.sourceforge.net/swc/overview.pdf)