SkyEyes: A Semantic Browser For the KB-Grid Yuxin Mao, Zhaohui Wu, Huajun Chen Grid Computing Lab, College of Computer Science, Zhejiang University, Hangzhou 310027, China {maoyx, wzh, huajunsir}@zju.edu.cn Abstract. KB-Grid was introduced for publishing, sharing and utilizing an enormous amount of knowledge base resources on Semantic Web. This paper proposes a generic architecture of Semantic Browser for KB-Grid. Semantic Browser is a widely adaptable and expandable client to Semantic Web and provide users with a series of functions, including Semantic Browse, Semantic Query and so on. We introduce the key techniques to implement a prototype Semantic Browser, called SkyEyes. Also, an application of SkyEyes on Traditional Chinese Medicine (TCM) is described in detail. 1 Introduction The emergence of Semantic Web [1] will result in an enormous of knowledge base (KB) resources distributed across the web. In such a setting, we must face the challenges of sharing, utilizing and managing huge scale of knowledge. Traditional web architecture seems to be quite insufficient to meet these requirements. Since Grid technologies have the ability to integrate and coordinate resources among users without conflict and insecurity, we propose a generic model of Semantic Browser based on the basic ideas of Grid and Semantic Web and implement a prototype Semantic Browser, called SkyEyes. In the following two subsections, we will introduce the background knowledge as well as some related work. And we will propose a generic architecture of Semantic Browser for KB-Grid. We will also discuss the key techniques to implement a prototype Semantic Browser, SkyEyes. Besides, an application of SkyEyes on Traditional Chinese Medicine (TCM) will be described in detail. In the end, we will take a brief summary on our job and look forward to our future work. 1.1 Background The scale of the Internet has grown at a startling rate and provided us large amount of information. We have to face the problems of publishing, sharing and utilizing the web information, so Knowledge base Grid (KB-Grid) [2] was introduced to meet the requirements. KB-Grid is a project being developed by the Grid Computing Lab of Zhejiang University. KB-Grid suggests a paradigm that emphasizes how to organize,
publish, discover, utilize, and manage web KB resources. In KB-Grid, distributed knowledge is presented by lightweight ontology languages such as RDF(S) [3]. In such a setting, traditional web browsers would be useless, and some particular browser for KB-Grid should be promoted and developed. SkyEyes is just such a new type of Semantic Browser, aimed at browsing, querying, managing and updating knowledge from distributed KBs for KB-Grid. 1.2 Related Work There have been a variety of researches and applications related to our work: Ideagraph [4] is a personal knowledge management tool for creating, managing, editing and browsing personal KB, which is an easy-to-use software. However, it s just a local tool for personal use rather than distributed application. IsaViz [5] is a visual working environment for creating and browsing RDF model. It makes use of GraphViz library to display an RDF model as a bitmap, which is lack of proper layout, so its interaction and effect are not satisfying. OntoRama [6] is a prototype ontology browser, which takes RDF/XML as input format and models ontology as a configurable graph. However, the function of OntoRama is confined to browse and display and it hasn t supported query yet. There is still no Semantic Browser in real sense. Most of these related researches and applications still aim at visualizing or browsing ontology or knowledge, lack of more intelligent functions such as Semantic Query and reasoning. Besides, many applications are only for local use rather than distributed environment. The application background of our work is TCM Information Grid and our goal is to build Open Knowledge Service Architecture to provide a wide series of knowledge services. The idea of SkyEyes is to build a widely adaptable and expandable intelligent client to Semantic Web, which will provide more intelligent functions. The immediate application of SkyEyes is browse and query of TCM ontology. 2 Overview Semantic Browser works as an intelligent client to Semantic Web and is an interface between KB- Grid and KB-Grid users. Any user of KB-Grid can publish, browse, query, manage and utilize knowledge via this browser. Here we propose a generic architecture Fig. 1. A generic architecture of Semantic Browser
of Semantic Browser for KB-Grid as figure 1. 2.1 Knowledge Server KB-Grid consists of many decentralized KB-Grid nodes. Each node may include several KBs. KB-Grid nodes exchange knowledge and deliver knowledge services through Grid Service interface. These nodes work collectively as a super knowledge server and the inner structure of KB-Grid is transparent to clients. Clients interact with knowledge server through Grid Service. A meta-information register center is set to coordinate KB resources. A shared ontology described by RDF(S) is stored in the register center, which performs as an index for distributed KBs. 2.2 Semantic Browser Plugins Semantic Browser remotely accesses knowledge services through Grid Service. For each type of knowledge services, we accordingly develop a plugin, which is an independent module in Semantic Browser. Service Discovery Plugin. Knowledge server will dynamically deliver various knowledge services and Service Discovery plugin accesses Service Discovery services to get meta-information about services. Semantic Browse Plugin. Semantic Browse is to visualize concepts and their instances that are explicitly described and the relationships among them as semantic graphs and assist users to browse semantic information with semantic links. Semantic Browse plugin accesses Semantic Browse services to carry out Semantic Browse. Semantic Query Plugin. When KB-Grid becomes very huge or they are not very familiar with the structure of the knowledge, users would better query the knowledge instead of browse. Semantic Query is to query semantic information or knowledge with semantic links. Semantic Query plugin accesses Semantic Query services to query semantic information from distributed KBs and optimizes query results. Knowledge Management Plugin. Knowledge Management plugin accesses Knowledge Management services to manage knowledge both local and remote. Reasoning Plugin. Reasoning plugin accesses reasoning services to perform reasoning based on domain ontology to solve practical problems. Users can dynamically choose rule set and case base according to specific problems. Besides, SkyEyes still reserves slots for extended plugins to access possible knowledge services that may be delivered by knowledge server in the future. 2.3 Intelligent Controller Since each plugin just implements a single function separately, Semantic Browser needs an intelligent controller to combine them as a whole. The intelligent controller
is the kernel of Semantic Browser, which coordinates and schedules various plugins, making proper plugins access proper services of KB-Grid. 2.4 SGL-Parser and SG-Factory For different formats of semantic information such as RDF(S), XML, OWL and so on, Semantic Browser should display a uniform semantic graph. Besides, if we want to make semantic graphs look clear without loss of semantics, we have to take more into account. Since it s hard to draw semantic graphs just based on RDF or other existed languages, we develop Semantic Graph Language (SGL) for displaying semantic graphs. And the semantic information acquired from server will be translated uniformly into SGL by Semantic Browser plugins. The SGL Parser will read and parse SGL and the SG-Factory will produce uniform and standard semantic graph, despite the formats of semantic information. 3 Implementation and Key Techniques According to the generic architecture of Semantic Browser, we develop a prototype Semantic Browser, called SkyEyes and have implemented two major functions of Semantic Browser, Semantic Browse and Semantic Query. The user interface is similar with traditional web browsers as figure 2 displays; so common users can operate it easily and well. However, to solve some problems with SkyEyes, users should have enough domain knowledge. SkyEyes was implemented with JAVA, so it s portable and can be used in different environments. There are several key techniques to Fig. 2. SkyEyes: a Semantic Browser implement SkyEyes. 3.1 Expandable Plugin Mechanism SkyEyes is a lightweight client, which calls special plugins to access remote knowledge services to solve problems. As the scale of knowledge increases or users requirements change, knowledge services of KB-Grid may be dynamically changed and delivered. The expandable plugin mechanism allows SkyEyes to expand its function easily just by adding and updating new plugins, without the code and
structure modified. In this way, users can even custom their own browsers by subscribing or unsubscribing services as they wish. 3.2 Operatable Vectographic Components Each user operation in SkyEyes will result in a semantic graph, which is composed of vectographic components. Vectographic components can be scaled and dragged freely without the quality of the graph reduced, so the display effect of semantic graph is much better and more acceptable to users. A vectographic component itself doesn t contain or store any data and it is used as proxy or view for semantic information. In a semantic graph, each vectographic component provides users not only a view of semantic information but also a series of functions. If a great deal of semantic information is returned from server, the structure of corresponding semantic graph will become so complex that a lot of nodes and arrows will overlap with each other in one graph. Many visualization tools do suffer this problem that is quite inconvenient to users and sometimes intolerable. In order to solve this problem, SkyEyes adopts radial layout algorithm [6] to arrange the global layout of a semantic graph., so as to avoid overlaping. 3.3 SGL: Semantic Graph Language Not like general graph languages, SGL takes semantics in and treat semantics as part of graph elements. Graph elements described in SGL is related with each other by semantic link not hyper link or graphic link. We can use SGL to describe both the semantics and the appearance of a semantic graph. SGL is an XML-based language and here is part of brief BNF definition of SGL. SGL ::= <SGL> graph* </SGL> graph ::= <graph idattr depthattr > subgraph* </graph> idattr ::= ( an unique string begins with a letter ) depthattr ::= 1 integer /* the level of semantic information to be displayed */ subgraph ::= <subgraph idattr typeattr > root, (edge, node subgraph)* </subgraph> typeattr ::= instance-property GraphType GraphType ::= class-class class-instance instance-property correlative extended /* types of semantic graph supported by SkyEyes */ root ::= <root idattr resourceattr radiusattr? SonAttr? AngleAttr? SpaceAttr? > </root> edge ::= <edge idattr resourceattr directionattr > </edge> node ::= <node idattr (resourceattr literalattr) angleattr? spaceattr? > </node> resourceattr ::= URI /* the URI of a RDF Resource */ radiusattr ::= 0 integer /* the radius of subgraph */ sonattr ::= 0 integer /* the number of son nodes owned by root*/ angleattr ::= 0 integer /* the position of root */ spaceattr ::= 0 integer /* the relevant space of subgraph */ directionattr ::= out DirectionType DirectionType ::= in out /* the direction of edge */ literalattr ::= (any well-formed XML) The structure of a semantic graph is clear in such a SGL document, and therefore SkyEyes can draw out a standard semantic graph. There is a simple example.
Fig. 3. A simple example of SGL 4 Application: Semantic Browse on Traditional Chinese Medicine A practical domain of SkyEyes is Traditional Chinese Medicine (TCM). We have been building an ontology of Unified TCM Language System, which includes TCM concepts, objects, and their relationships with each other. We have chosen Protégé 2000 [7] as ontology editor to build the ontology in RDF(S). The TCM ontology is distributed across the web in more than twenty nodes throughout our country. They share a common ontology in the meta-information register center and are related by semantic links, URIs. Now we have finished in building the whole concept definition of the TCM ontology and edited more than 100,000 records of instances. Users of this TCM ontology can download SkyEyes from our server and install it. Then they can use it to acquire useful information they need from TCM ontology. TCM experts can solve practical problems with the help of SkyEyes, or they can take the result returned by SkyEyes as a reference. For example, if a doctor is not sure about the use of a medicine, he can turn to SkyEyes. 4.1 Semantic Browse Before starting to browse, the doctor can input the URL of the TCM ontology into the address field of SkyEyes and begin to perform Semantic Browse. The process of Semantic Browse can be divided into several steps: First, given a URL, Sky Eyes will connect to knowledge server and get RDF(S) files. It will call Jena [8] API to parse RDF(S) files into some data model that can be understood and processed by client. SkyEyes will extract meta-information about RDF(S) and parse it into a class hierarchy tree to finish the initialization. Next, the doctor can expand a tree node to browse its sub-classes, or click it to list its direct instances in the instance list area. The relationships between the class and properties are displayed as a semantic graph in the semantic graph area. Then, if the doctor finds the instance of the medicine in the instance list, he can click the instance and then all its properties and property values will be displayed around the node standing for the medicine in a graph, including compositions, effect and so on, so the use of that medicine will be very clear.
If the doctor wants to know more about one composition of that medicine, he can click the node standing for the composition, then a detailed semantic graph about that composition will be displayed. During Semantic Browse, each user operation will send in a URI, acquire further related semantic information from server through this URI. SkyEyes then calls JGraph [9] API to draw semantic graph according to the information. If the doctor can t find the information this way, he can turn to Semantic Query. 4.2 Semantic Query SkyEyes itself is unable to query, and query is done by accessing query services. SkyEyes just provides an easy-to-use interface to do Semantic Query and visualizes query results. Query results is returned from server as semantic information, which will be optimized by Semantic Query plugin and displayed as semantic graphs. For the moment, SkyEyes provides four kinds of Semantic Query, and for each, SkyEyes will display a type of corresponding semantic graph. Class-class query returns semantic information about the specific class, its upclasses and its sub-classes. Class-instance query returns semantic information about the specific class and its direct instances. Instance-property query returns semantic information about the specific instance and its properties. Correlative query returns semantic information about the specific class, its upclasses, its sub-classes, and their instances. It fits the condition that the class users queried has no direct instances at all but its sub-classes or up-classes have. The doctor can input restrictive information about the medicine to perform Semantic Query within the TCM ontology. The query result won t be documents simply containing the keyword but a semantic graph focusing on the medicine, just like the semantic graph displayed when browsing. He can also set the depth of each query and control the semantic graph by configuring some parameters of SkyEyes. Deeper depth means there is more semantic information returned and displayed. 4.3 Reasoning If the problem is more than querying a medicine, for example, treating a patient, the doctor can take advantage of reasoning function to perform more complex work. Firstly, he can describe the symptoms of the patient in a particular format. Next, he could choose a case base that may contain a similar case with a rule set on diagnosis and treatment. The reasoning plugin of SkyEyes will access reasoning services to perform complex reasoning and the results will be returned as semantic information. At last, SkyEyes will display results as semantic graphs and the doctor could take the result as a useful reference when treating the patient.
5 Summary SkyEyes is a prototype Semantic Browser, which was implemented according to a generic architecture of Semantic Browser for KB-Grid. As an intelligent client to Semantic Web, it provides users with the major functions of Semantic Browser and a friendly user interface. SkyEyes owns several important features that distinguish itself from traditional web browsers: Open. SkyEyes is based on Grid Service and works as part of KB-Grid, not subject to traditional C/S structure. Exact. Browse and query utilize semantic links to locate and return more exact and useful information users require. Intelligent. Accessing knowledge services to understand and solve more complex and practical problems, which previously call for domain experts. Expandable. Expandable plugin mechanism allows expanding function dynamically according to the services delivered by knowledge server. Universal. SkyEyes converts various formats of semantic information into uniform semantic graphs based on SGL. Convenient and Operatable. Use of vectographic components provides users with excellent view of semantic information and a series of interactive functions. Our future work is to build a knowledge sharing and knowledge management platform towards Semantic Web. As part of this platform, the function of SkyEyes is still insufficient, so a series of knowledge services especially reasoning services and knowledge management services will be developed based on Grid Service and more Semantic Browser plugins will be added to SkyEyes to extend its functions. Besides, we will go on with the TCM Information Grid for TCM science research. 6 Reference [1] Berners-Lee, T., Hendler, J., Lassila, O. The Semantic Web. Scientific American, May, 2001. [2] WU ZhaoHui, CHEN HuaJun, XU JieFeng. Knowledge Base Grid: A Generic Grid Architecture for Semantic Web. JCST Vol.18, No.4, July, 2003. [3] Resource Description Framework (RDF) Model and Syntax Specification. http://www.w3.org/tr/1999/rec-rdf-syntax-19990222/. [4] Ideagraph, an Idea Development Tool for the Semantic Web. http://ideagraph.net/. [5] IsaViz: A Visual Authoring Tool for RDF. http://www.w3.org/2001/11/isaviz/. [6] Peter Eklund, Nataliya Roberts, Steve Green. OntoRama: Browsing RDF Ontologies using a Hyperbolic-style Browser. The First International Symposium on CyberWorlds (CW2002), pp.405-411, Theory and Practices, IEEE press, 2002. [7] Protégé 2000. http://protege.stanford.edu/. [8] Jena Semantic Web Toolkit. http://www.hpl.hp.com/semweb/jena.htm. [9] Jgraph. http://jgraph.sourceforge.net/.