5
Mathematical and Computer Modelling 58 (2013) 614–618 Contents lists available at SciVerse ScienceDirect Mathematical and Computer Modelling journal homepage: www.elsevier.com/locate/mcm Research on development and application of OWL ontology search middleware Xiaolu Su , Xianxue Meng, Haiyan Hu Key Laboratory of Digital Agricultural Early-warning Technology Ministry of Agriculture, Beijing 100081, PR China article info Article history: Received 30 September 2011 Accepted 26 October 2011 Keywords: Ontology query Ontology search Middleware OWL ontology abstract This paper introduces an OWL ontology search middleware and an ontology search service system to demonstrate the functions of the middleware. The middleware can be used to search multiple ontologies at same time, with complex query conditions. Without a deep understanding of ontology’s structure knowledge and ontology query language, a general user can search ontologies just by inputting keywords with the help of the system. The middleware provides an easy way to search ontologies. © 2011 Elsevier Ltd. All rights reserved. 1. Introduction Ontologies have undergone an enormous development and have been applied in many domains in the past years, especially in the context of the Semantic Web. There are several search engines, such as Swoogle [1], Falcons [2], and Watson [3], which can help the user find the ontologies he needs from the Internet. But while found, finding out useful things from these ontologies is still a difficult task. The ontology query middleware is developed to ease this task. Search and inference are 2 main research directions of ontology service. Inference needs ontologies with very high quality, but the quality standard cannot be met by most of today’s ontology common users. A large part of today’s ontologies are created as well-organized catalogs; there should be a way to quickly find contents from them. This research focuses on middleware, which manipulate the contents of the ontologies existing on the web, and service, which search and browse the contents of those ontologies. The development of the search middleware and the ontology search service system has already been done. 2. Knowledge query middleware Ontology query middleware can execute a complex query on multiple ontologies scattered over the Internet, and return knowledge items meeting the search condition in all of them. The middleware defined the knowledge item object class, the query condition object class (with a constructor which can create a query condition object from a query expression string), and a set of API which executes the search. The middleware was developed under JAVA JDK 1.5, provided to the user as a jar package. Correspondence to: Agricultural Information Institute of Chinese Academy of Agriculture Science, Beijing 100081, PR China. Tel.: +86 10 82106265; fax: +86 10 82109655. E-mail address: [email protected] (X. Su). 0895-7177/$ – see front matter © 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.mcm.2011.10.053

Research on development and application of OWL ontology search middleware

  • Upload
    haiyan

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Research on development and application of OWL ontology search middleware

Mathematical and Computer Modelling 58 (2013) 614–618

Contents lists available at SciVerse ScienceDirect

Mathematical and Computer Modelling

journal homepage: www.elsevier.com/locate/mcm

Research on development and application of OWL ontologysearch middlewareXiaolu Su ∗, Xianxue Meng, Haiyan HuKey Laboratory of Digital Agricultural Early-warning Technology Ministry of Agriculture, Beijing 100081, PR China

a r t i c l e i n f o

Article history:Received 30 September 2011Accepted 26 October 2011

Keywords:Ontology queryOntology searchMiddlewareOWL ontology

a b s t r a c t

This paper introduces an OWL ontology search middleware and an ontology search servicesystem to demonstrate the functions of the middleware. The middleware can be used tosearch multiple ontologies at same time, with complex query conditions. Without a deepunderstanding of ontology’s structure knowledge and ontology query language, a generaluser can search ontologies just by inputting keywords with the help of the system. Themiddleware provides an easy way to search ontologies.

© 2011 Elsevier Ltd. All rights reserved.

1. Introduction

Ontologies have undergone an enormous development and have been applied in many domains in the past years,especially in the context of the Semantic Web. There are several search engines, such as Swoogle [1], Falcons [2], andWatson [3], which can help the user find the ontologies he needs from the Internet. But while found, finding out usefulthings from these ontologies is still a difficult task. The ontology query middleware is developed to ease this task.

Search and inference are 2main researchdirections of ontology service. Inference needs ontologieswith very high quality,but the quality standard cannot be met by most of today’s ontology common users. A large part of today’s ontologies arecreated as well-organized catalogs; there should be a way to quickly find contents from them.

This research focuses on middleware, which manipulate the contents of the ontologies existing on the web, and service,which search and browse the contents of those ontologies. The development of the search middleware and the ontologysearch service system has already been done.

2. Knowledge query middleware

Ontology query middleware can execute a complex query on multiple ontologies scattered over the Internet, and returnknowledge items meeting the search condition in all of them. The middleware defined the knowledge item object class, thequery condition object class (with a constructor which can create a query condition object from a query expression string),and a set of API which executes the search. The middleware was developed under JAVA JDK 1.5, provided to the user as a jarpackage.

∗ Correspondence to: Agricultural Information Institute of Chinese Academy of Agriculture Science, Beijing 100081, PR China. Tel.: +86 10 82106265;fax: +86 10 82109655.

E-mail address: [email protected] (X. Su).

0895-7177/$ – see front matter© 2011 Elsevier Ltd. All rights reserved.doi:10.1016/j.mcm.2011.10.053

Page 2: Research on development and application of OWL ontology search middleware

X. Su et al. / Mathematical and Computer Modelling 58 (2013) 614–618 615

Fig. 1. Search condition tree.

2.1. Functions and features

The middleware has the following functions and features.(1) Open remote ontology.

The middleware can download the remote ontology the user requested by its URL, into a local cache and then open itfor the user. The download process works asynchronously; the broken transmission can be resumed at the break point.

(2) Query multiple ontologies.Every opened ontology remains open until the user closes it; all opened ontologies can be operated simultaneously.

(3) Support complex search conditions.Multiple key words can be used; the place where these key words should appear in the target items can also beappointed, and the type of target knowledge items can be appointed at the same time.

(4) Acquiring the contents of remote ontologies.The middleware can acquire named objects, objects meet the search condition, and all objects, at the user’s will.

(5) Remote ontology cache.Closed ontologies cannot be used until being opened again, but their copy in the cache is not deleted after the closeoperation. If opened again, the middleware will check the time stamp of that file to determine whether the cached oneis obsolete and need be downloaded again.

2.2. Representing search conditions

The search expression committed byUIwill be transformed into a tree-like hierarchical structure; there are 3 componentsin this structure—search condition group, atom search condition, and logical relation between instances of these groups andatoms.(1) Search condition tree.

Search conditions are organized into a hierarchical tree, as shown in Fig. 1. The leaves of the tree are atom conditions,and the non-leaf nodes are condition groups. A condition group node can have leaf child nodes and non-leaf child nodes,which means that the members of one condition group can be both atom conditions and other condition groups. Acondition group also needs a logical relation symbol to express the logical relations between its children. Each conditiongroup calculates its own Boolean value using the value of its children and the logical relation it is assigned to, and subgroups will be handled recursively until the root node obtains its value.

(2) Construction of a search condition tree.A search condition tree can be translated into a logical expression, and vice versa, while keeping all the information ithas. Here is an example of search expression:

({OntologyEntity.OntologyEntityTypeName == OWLObjectProperty} and{OntologyEntity.OntologyEntityTypeName == OWLInstance} and{OntologyEntity.OntologyEntityTypeName == OWLDataProperty} and{OntologyEntity.OntologyEntityTypeName == OWLClass} and({OntologyEntity.name contains chrysanthemum} or {OntologyEntity.annotation contains chrysanthemum} or{OntologyEntity.value contains chrysanthemum}) and ({OntologyEntity.value contains Cutworms} or{OntologyEntity.annotation contains Cutworms} or {OntologyEntity.name contains Cutworms})).

In search expression, every atom condition is surrounded by ‘{}’. The parts surrounded by ‘()’ are condition groups;groups can be nested. The logical operators connect conditions and groups; all the operators in one group must be thesame.

(3) Construction of atom condition.An atom condition can be divided into 3 parts: the field name, the operator, and the target value. There are 5 applicableoperators (>, <,>=, <= and=) for digital values, and 2 (equals, contains) for string values; case of characters in stringis always ignored.

Page 3: Research on development and application of OWL ontology search middleware

616 X. Su et al. / Mathematical and Computer Modelling 58 (2013) 614–618

Fig. 2. Architecture of ontology search system.

3. Research on the search service

We developed ontology search service on the web to demonstrate the functions of ontology search middleware.

3.1. The architecture of ontology search service system

The system architecture of ontology search service is composed of 3 parts: the ontology search middleware, the searchwebservice, and the search web site, as shown in Fig. 2.

The middleware provides a set of API. Using them, a user can open OWL files on the Internet, acquire their contents, andsearch for matched items in them. An ontology search website encapsulates the API of the middleware into a webservice.That webservice is developed using Java JDK 1.5, published with Apache Axis 2.0 package, running under Tomcat 5.0.28application server. Ontology search web pages call the webservice with the search condition as parameter, and deliver thesearch result back to the user. Those web pages are developed using C# 3.5, running under the .Net 3.5 framework.

3.2. User interface

There are 4 web pages which act as user interface. They are search page, open ontology page, browse ontology contentpage, and search result detail page. The part of search screenshot is shown in Fig. 3.

There are 4 parts in the search page, arranged in top-down order. They are a keyword input area, a search option area, asearch scope select area, and a search result area.

A keyword input area has a text box which allows the user to input keywords, and a button to launch the search. A usercan input more than 1 keyword in the text box, separated by white spaces.

An advanced search option area has 4 choice groups. It lets the user choose the type (class, attribute, relation, instance)of the item to be searched, the location (name, annotation, value) the keywords appears, the logical relation (and, or) of thekeywords, and the match method (exact, fuzzy).

The search scope area lists the ontologies already opened, and has a button to open other ontologies which are not inthat list.

At the left side of each ontology in the opened ontology list, there is a checkbox; when checked, that ontology will beincluded in the current search scope. There is a button at the right side of each ontology, which can be used to close thatontology.

The search result area lists the items that matched the search condition and the scope set at above areas; there is an iconat the left side of each item, which represents the type of that item (cycle for class, and diamond for instance). Clicking theURL in the item will open the ontology content browse page with the ontology containing that item opened, and set focuson that item.

Page 4: Research on development and application of OWL ontology search middleware

X. Su et al. / Mathematical and Computer Modelling 58 (2013) 614–618 617

Fig. 3. The part of search screenshot.

Fig. 4. The search result detail screenshot.

4. Demonstration

Suppose that a user needs to search how to prevent cutworms during planting chrysanthemum, and he knows that someontology on the Internet contains the planting technology knowledge he needs. He can open that ontology in the searchpage, using ‘‘chrysanthemum’’ and ‘‘cutworms’’ as keywords, and launch his search. There may be some instances namedlike ‘‘chrysanthemumplanting’’, which has a property named ‘‘plant diseases and insect pests’’, and one of its values pointedto an instance of insects named ‘‘cutworms’’, one of the properties of that instance named ‘‘Applying pesticides’’, one of thevalues of that property pointed to an instance named ‘‘Dimehypo’’ (the search result detail screenshot is shown in Fig. 4),which appears in another ontology named ‘‘Agricultural means of production’’. Now he can open the agricultural means ofproduction ontology to browse all the information about dimehypo.

Page 5: Research on development and application of OWL ontology search middleware

618 X. Su et al. / Mathematical and Computer Modelling 58 (2013) 614–618

5. Related researches

Researches of knowledge ontology query mainly focus on structural query languages, natural language interface and keyword based search tools and system.

In 2008, the SPARQL query language for RDF has reached the W3C recommendation status [4]. In 2010, W3C releasedSPARQL 1.1Working Draft, added Aggregate Functions, Subqueries and Creating Valueswith Expressions function [5]; manyfacilities have been offering support for SPARQL [6–8] and putting effort to extend and optimize SQARQL [9–11]. SPARQLpossess sufficient expressiveness for exploiting the Semantic Web. However, such a query construction process is complexand laborious. In order to construct a valid SPARQL query to retrieve desired information, a user has to not only grasp thequery language, but also understand the ontology thoroughly so as to find the right concepts and structures to form thequery [12].

In order to make ontology easy to use, some authors study natural language interface system [13–15]; they convertnatural language to structural query language. Because of natural language’s variability and ambiguity, to develop this kindsystem is very difficult and time consuming [16]; some authors use keywords to build logical query for semantic search[17,18]. However, as the number of possible structured queries grows exponentially with the size of RDF schema and thesize of keyword queries, their approaches are only applicable to small datasets [12].

The middleware looks very similar with Watson from the interface, but with a totally different search strategy. First,Watson’s query selection is used for search engines, search results is ontology knowledge elements list. Second, Watsondoes not have the option of Boolean logic calculation for word relations; therefore multiple keyword queries will be treatedas separate keywords, the result will be knowledge elements with the queried concept in it. The middleware provides notonly disjunctive query function but also conjunctive search function.

6. Conclusion

The middleware and the search method do not set any limitation to the number and scale of the processed ontologies.With the query system based on thismiddleware, the user does not have to learn anything about knowledge query languagenor the details of the ontologies he requested; he only needs to give the URLs of the ontologies he is interested, input thesearch keywords and select the search conditions. Furthermore, this middleware can be used as a plug-in in any softwaresystem needing ontology search.

Acknowledgments

The research was supported by the 12th Five-Year National Key Technology Support Program, Super-class Scientific andTechnical Thesaurus and Ontology Construction for the Foreign Scientific and Technical literature (2011BAH10B01) andSpecial Fund of Basic Research Project of Information Institute of CAAS.

References

[1] http://swoogle.umbc.edu/.[2] http://iws.seu.edu.cn/services/falcons/conceptsearch/index.jsp?.[3] http://watson.kmi.open.ac.uk/WatsonWUI/.[4] http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/.[5] http://www.w3.org/TR/2010/WD-sparql11-query-20100126/.[6] http://www.w3.org/2007/12/sparql-testimonial.[7] http://jena.sourceforge.net:80/.[8] http://www.oracle.com/technetwork/database/options/semantic-tech/events-082086.html.[9] E. Patrick Shironoshita, Yves R. Jean-Mary, Ray M. Bradley, et al., semQA: SPARQL with idempotent disjunction, IEEE Transactions on Knowledge and

Data Engineering 21 (3) (2009) 401–414.[10] Yixin Jing, Dongwon Jeong, Doo-Kwon Baik, SPARQL graph pattern rewriting for OWL–DL inference queries, Knowledge and Information Systems 20

(2) (2009) 243–262.[11] Ben P. Vandervalk, E. LukeMcCarthy, Mark D.Wilkinson, Optimization of distributed SPARQL queries using Edmonds’ algorithm and Prim’s algorithm,

in: International Conference on Computational Science and Engineering, EUC’09, CSE’09, Vancouver, CA, Computational Science and Engineering,CSE’09, 2009, pp. 330–337.

[12] Enrico Minack, Wolf Siberski, Gideon Zenz, et al., SUITS4RDF: incremental query construction for the semantic web, in: International Semantic WebConference, Posters & Demos, Karlsruhe, Germany, 2008.

[13] A. Bernstein, E. Kaufmann, C. Kaiser, C. Kiefer, Ginseng: a guided input natural language search engine for querying ontologies, in: 2006 Jena UserConference, Bristol, UK, May 2006.

[14] C. Wang, M. Xiong, Q. Zhou, Y. Yu, PANTO: a portable natural language interface to ontologies, in: Lecture Notes in Computer Science, vol. 4519, 2007,pp. 473–487.

[15] Philipp Cimiano, Peter Haase, Joerg Heizmann, ORAKEl: a portable natural language interface to knowledge bases, Technical Report, University ofKarlsruhe, March 2007.

[16] E. Kaufmann, A. Bernstein, How useful are natural language interfaces to the semantic web for casual end-users? in: Proceedings of the 6thInternational Semantic Web Conference, ISWC 2007, Busan, Korea, 2007, pp. 281–294.

[17] T. Tran, P. Cimiano, S. Rudolph, R. Studer, Ontology-based interpretation of keywords for semantic search, in: 6th International Semantic WebConference, and 2nd Asian Semantic Web Conference, ISWC 2007 + ASWC 2007, Busan, Korea, The Semantic Web 2007, pp. 523–536.

[18] Q. Zhou, C. Wang, M. Xiong, et al., SPARK: adapting keyword query to semantic search, in: 6th International Semantic Web Conference, and 2nd AsianSemantic Web Conference, ISWC 2007 + ASWC 2007, Busan, Korea, The Semantic Web 2007, pp. 694–707.