Kgol: Knowledge Grid Operation Language
Zhuge Sea Liu Jie
Abstract This article introduces the design and implementation of KGOL in knowledge grid operation. This language not only provides Internet users to provide access and management of knowledge resources, but also provide programming environments for application developers to achieve global distribution of knowledge resources. Sharing and management. Kgol's prototype system has been implemented in the weaver's star knowledge grid platform, and the study of the next generation of Internet is involved in three important directions: semantic internet, web services and grids. Knowledge Grid is an intelligent interconnect environment that enables people (or virtual roles) to effectively obtain, publish, share, and manage knowledge resources, and provide people and other services needed to achieve knowledge innovation, cooperate, and work together. Problem resolution and decision support. The core issue of knowledge grid research is the normative organization of resources, intelligent aggregation and semantic interconnection. Knowledge Grid Operation Language Kgol is an important part of Knowledge Grid VEGA-KG. This article describes KGOL design and implementation. Internet users can easily use KGOL to create, store, modify, and retrieve operations such as knowledge meshes, and achieve sharing and management of global distribution of knowledge resources. Kgol's programming environment includes: parser, interpreter, executive engine, and result generator. Kgol features a more embodied by analysis of SQL, XQL, and Lorel.
Keywords: grid, knowledge grid, grid operation language,
. XML1 IntroductionThe Semantic Web, Web Service and Grid are three ways to the next-generation Web The Semantic Web is to make the Web resources machine-understandable by using the markup languages like XML, RDF, and DAML (http: // www. semanticweb.org) so as to enable intelligent Web Services. Web Services are applications that interact with each other using Web standards such as XML, SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) and UDDI (Universal Description Discovery and Integration). The purpose is to provide an open platform for the development, deployment, intelligent interaction, and management of globally distributed e-services. The Grid aims at the controlled sharing, coupling, and managing of globally distributed resources based on the high- Performance computing environment (http://www.gridforum.org). Knowledge Grid IS A Grid Mechanism Based on The Semantic Web for Uniform SHARING AND MANAGING VERSATILE KNOWLEDGE Resources Across Internet. The Knowledge resources include information, services and knowledge. The Knowledge Grid organizes knowledge resources in a Knowledge Space, a three-dimensional resource space [16]. Each point in the Knowledge Grid space represents resources at a certain location, a certain knowledge level and a certain knowledge category. The prototype of the Knowledge Grid, named VEGA-KG, has been implemented and is available at http://kg.ict.ac.cn The Knowledge Grid operating language and the programming environment KGOL is an important Portion of the Vega-kg. The Kgol Includes Two Kinds of User Interfaces:
a friendly interface for end-users to use the KGOL statements separately to carry out resource operations, and a programming environment for application developers to implement the Knowledge Grid applications. A KGOL program is composed of a sequence of KGOL statements, KGOL functions, and the control-statements [3], [9], [14]. The KGOL programming environment includes the following major components. 1. An event-based parser, which parses a KGOL program and generates a source tree. 2. An interpreter then, which travels the source tree to get the operators and the corresponding parameters. 3. An execution engine, which performs the KGOL statements and generates a typed output instance.4. A result generator, which generates a result in the form of a complete XML document or a set of XML fragments from the output instance. 2 KGOL Grammar SpecificationsThe syntax and semantics of the KGOL are designed by referring to that of the SQL. For example, the statement of getting knowledge resources from a Knowledge Grid (KG) at the Concept level and the Software category can be expressed as follows: GET K from KGWHERE level = "Concept" and category = "Software" A major form of the KGOL statement is described as follows.:
Level-coordinate-expression | Category-coordinate-expression | Keywords-expression | Name-expression.The Condition-Expression represents a Boolean expression specifying the level coordinate and the category coordinate of the Knowledge Grid as well as the other constraints such as keyword patterns [7]. The KGOL also has the assign-statement, the create-statement, the browse-statement, the update-statement, the join-statement, the open-statement, and the log-statement. The detailed KGOL grammar is given IN APPENDIX A and The Meaning of Each Statement IS Described As Follows:
1. The get-statement is used to retrieve the Knowledge Grid resources at a UGL satisfying the Condition-Expression. A get-statement can be embedded in another KGOL statement by replacing the UGL with the get-statement. The nested query can retrieve resources distributed at several Knowledge Grids as if they were in one Knowledge Grid [11]. The result of each operation is a temporary Grid view expressed by a complete XML document or a set of XML fragments.2. The put-statement is used to put the resources into a Knowledge Grid at a UGL. The Condition-Expression determines the level coordinate and the category coordinate of the Grid. The assign-statement is usually used before carrying out the put operation.3. The delete-statement is used to delete useless or redundant resources of a certain Knowledge Grid at a UGL satisfying the given condition. The option portion "PACK" determines the resources previously deleted logically to be deleted permanently.4. The undelete-statement is used to undelete resources that are not permanently deleted.5. The assign-statement is used to bind the value of the expression to a variable.6. The create-statement is used to create a new Knowledge Grid at a Universal Grid Location (UGL ). The information of the level coordinate and the category coordinate is acquired from the Condition-Expression portion. A new Knowledge Grid can be created by inheriting from an existing one with structure or content inheritance. The option portion "with Structure &
Content "indicates the inheritance of both.7. The browse-statement is used to browse a view of the specified Knowledge Grid. The Condition-Expression restricts the level range and the category range of the Grid.8. The update-statement is used to update the resources of the Knowledge Grid at a UGL satisfying the Condition-Expression, with a set-clause specifying the update changes. 9. The join-statement is used to join different Grids into a new Knowledge Grid. with the join-statement , users can query a collection of inter-related Grids.10. The open-statement is used to open the whole or a part of the Knowledge Grid satisfying the Condition-Expression to the other Grids.11. The log-statement is used to log a Knowledge Grid at a UGL on or off the worldwide Grid. The universal resource view does not include the resources in the Grid that has been logged off.3 KGOL Programming 3.1 An Example of KGOL programLet us start the discussion with a simple example of The Kgol Progr AM: Begin Create G = (Semantic Grid, Knowledge Grid, Information Grid, Service Grid) at http://kg.ict.ac.cn/research/newgrid; get k from grid where level = "Concept" and category = " Grid "and name =" grid "; PUT K INTO New Grid WHERE Level =" Concept "and category =" knowledge grid "; get k from new grid where level =" concept "and category =" knowledge Grid ";
Endthis Program Implements: 1. Create a new grid named new grid at http://kg.ict.ac.cn/research. The default four level Coordinates Are "Concept", "Axiom", "Rules", And "Method". Simultaneously, the four category coordinates are "Semantic-Grid", "Knowledge-Grid", "Information-Grid" and "Service-Grid". 2. Get the knowledge resource from the Grid at the "Concept" level and the "Grid" category.3. Put the knowledge resource into the new Grid at the "Concept" level and the "Knowledge-Grid" category.4. Get the knowledge resource from the new Grid to testify the correctness of the above three . operations 3.2 KGOL Programming InterfaceA KGOL program is a composition of the KGOL statements The control flow of the KGOL is specified as follows: Sequential-process:.
Begin-End-statement:. {Sequential-process} Fig 1 shows the interface of the KGOL programming environment, which includes a programming area in the center portion and four operation buttons at the bottom The "LOAD" button is for loading a KGOL. program. The "RUN" button is for executing the KGOL program. The "RESET" button is for clearing the programming area and the "SAVE" button is for storing the current KGOL program. Fig. 1. Interface of the KGOL programming environment 4 Programming Environment4.1 General Architecture The general architecture of the KGOL programming environment is illustrated in Fig. 2. Compared with the architecture of the research prototypes introduced in [6], [8], [10], [15], the distinguished feature of the KGOL is that it is based on a Knowledge Grid resource space. The event-based parser checks and parses the input KGOL program syntactically and then generates a source tree. The interpreter travels the source tree to acquire all the operators and the co Rresponding Parameters, Which Are Validated by Using Instruction Templates. The Execution Engine Performs The Interpreted Operators and Products A Typed Output Instance.end Users
Application Developers
................ ..
. Fig 2. General architecture of the Knowledge Grid programming environment 4.2 Parser:. Generator of Source TreeThe parser is responsible for analyzing the KGOL program syntactically and generates a source tree as shown in Fig 3. The KGOL program is stored in the form of the source tree, an abstract command tree, described by the XML [1], [2], [4], [5]. The nodes of white rectangles represent the element nodes and the others of gray rectangles represent the terminal value nodes. The execution of the KGOL program is a process of parsing, interpreting, executing, and generating the source tree. 4.3 InterpreterThe interpreter travels the source tree in the breadth-first and then in the depth-first search order to acquire the operators and the corresponding parameters . in the KGOL program The main interpreting algorithm is as follows: BEGIN Load the Source Tree; Travel the Source Tree in breadth-first search order; Get the set S of all the Operators; FOR each Operator OP in the set S Find the matching instruction from the instruction template; if Find the travel; get all the parameters of op; else generates error;
.. END IFNEXT END 4.4 Execution EngineThe Execution Engine performs the operations after acquiring the operators and the corresponding parameters of the KGOL program The main execution process includes three steps: Knowledge Grid locating, Knowledge Grid loading, and API invoking Fig 4 depicts the.. execution process of the KGOL 1) Knowledge Grid LocatingBefore carrying out each parsed operation, the execution engine first locates the corresponding Knowledge Grids Relational tables:.. GridCategory, Grid and Category are used to implement the locating of the relevant Grids each table has an. ID and other associated attributes. 2) Knowledge Grid LoadingKnowledge Grid loading is to load the relevant Grids from the distributed Knowledge Grid resource space. The load method of the XML DOM interface (http://www.w3.org/DOM/) loads The Corresponding XML Documents from The Specified Location. 3) API INVOKINGAFTER Loading The Knowledge Grids, The Execution Engine Calls The Corresponding A PI of different Function Modules and generates a typed output instance of each parsed operation. Fig. 4. Process of KGOL program execution 4.5 Result GeneratorThe result generator is responsible for applying the XSL to match nodes in the output instance generated by the execution engine. It can generate complex data and multiple types of XML outputs. The result is in the form of either a complete XML document or a set of XML fragments representing the sub-results. 5 ImplementationThe KGOL programming environment has been implemented by using JSP, ASP and Java . The demo of the environment is available at http:
. //Kg.ict.ac.cn/KGOL/demo A friendly GUI for end-users to separately use KGOL statements to operate resources has been implemented in the Knowledge Grid platform VEGA-KG, which is available for public use at http: //kg.ict.ac.cn. The XML is adopted to represent the worldwide and the local Knowledge Grid. An XML DOM parser is used to construct an in-memory parsed tree for the whole documents. Currently, the KGOL program runs on the Windows2000 Advanced Server with an RDBMS of SQL-Server 7.0, and the client programs run separately on the PCs distributed on the Internet. 6 Comparisons The KGOL is not only an SQL-like language but also a programming environment, based on a semi- structured data model combined with the XML syntax. The KGOL borrows the syntax and semantics from the standard SQL language. The statements of the KGOL are SQL-like and have the SQL SELECT-fROM-WHERE pattern. The KGOL can perform the operations similar to The Classical Relational Database Operations, Such As Nested Queries, Aggregates, Set Operations, Join and Result ORDERING.THE KGOL Also Borrows The Following Features from The XML Query Languages [3]:
1. Management of structured and semi-structured data.2. Support abstract data types.3. The XML-based data format and the result semantics.4. Support the skelom functions to associate a unique ID to a given Knowledge Grid.5. Support document selection.6. Support partial specified path expression.A distinguished feature of the KGOL is that it can operate various types of hierarchical resources including information, knowledge, and services with a universal resource view. The specific data model of the KGOL is a three-dimensional resource space. But, the standard SQL only operates flat relational tables, and the XML query languages only manage XML documents. Another feature of the KGOL is that it is an update language with control statements.7 Conclusions and Future Work This paper Presents The Design and Implementation of The Kgol, An Xml-Based Knowledge Grid Resource Operating Language and Programming Environment, for Both Application Developers and end-users to import knowledge ledge Grid applications. The comparisons of the KGOL, the XQL, the LOREL and the SQL show that the KGOL is an easy tool for accessing and managing resources with a mobile way and a universal resource view. The prototype of the KGOL has been implemented in The Platform Vega-kg (http://kg.ict.ac.cn). Future Works Mainly Include Three Aspects:
extending the expressiveness of the language [12], [13], [17], supporting the coming standard of the Semantic Web, and embedding the KGOL in other host languages. References1. M. Altinel and MJ Franklin, Efficient Filtering of XML Documents For Selective Dissemination of Information, Proceedings of the 26th VLDB Conference, Cairo, Egypt May (2000) 53-64.2. D. Beech, A. Malhotra And M. Rys, A Formal Data Model And Algebra For XML, Sept. (1999) Available at http://elib.cs.berkeley.edu/seminar/2000/20000207.pdf. 3. A. Bonifati and S. Ceri, Comparrative Analysis of Five XML Query Languages, Sigmod Record 29 March (2000) 68- 79.4. V. Christophides, S. Cluet and J. Simeon, ON Wrapping Query Languages and Efficient XML Integration, ACM Sigmod Dallas TX USA May (2000) 141-152.5. A. Deutsch, et al., A Query Language for XML, May 1999, The 8th International WWW Conference, Toronto May (1999) 77-91.6. P. Frange, XQuery Formal Semantics State and Challenges, Sigmod Record, 30 Sept. (200 1) 15-19.7. D. Florescu, D. Kossmann and I. Manolescu, Integrating Keyword Search Into XML Query Processing, The 9th International WWW Conference, Amsterdam, May (2000) 119-135.8. W. Han, D. Buttler, C. Pu Wraping Web Data Into XML, Sigmod Record 30, Sept. (2000) 33-38.9. D. Lee and WW Chu, Comparrative Analysis of Six XML Schema Languages, Sigmod Record 29, Sept. (2000) 76-87.10. J. Mchugh and J. Widom, Query Optimization for XML, Proceedings of The 25th VLDB Conference, Edinburgh, Scotland, Sept. (1999) 315-326.11. E. SPERTUS AND LA Stein, Sques:
A Structured Query Language for the Web, 2000, The 9th International WWW Conference, Amsterdam, May (2000) 95-103.12. D. Suciu, on Database Theory and XML, Sigmod Record 30, Sept. (2001) 39-45.13. I . Tatarinov, et al., Updating XML, Proceedings of the 2001 ACM SIGMOD International Conference of Management of Data, May (2001) 413-424.14. H. Zhuge, Inheritance Rules for Flexible Model Retrieval, Decision Support Systems 22, (1998) 379-390.15. H. Zhuge, A Problem-Oriented and Rule-Based Component Repository, the Journal of Systems and Software 50 (2000) 201-208.16. H. Zhuge, A Knowledge Grid Model and Platform for Global Knowledge Sharing, Expert Systems with Application 22 (2002) .17 H. Zhuge, VEGA-KG:. A Way to the Knowledge Web, 11th International World Wide Web Conference, poster proceeding, May, Hawaii, USA, 2002.Appendix A. KGOL GrammarThe syntax of the Kgol is defined in an extended Bnf grammar, where "[]" "means by default, gi represents a knowledge grid, and the capital Words Are R Etained by the kgol. 1. get-statement: get [all | distinct] r1 ... rm from g1 ... GM [AT UGL1 ... uglm] [where
Content]; 7. Browse-statement: browse gi [at ugl] [where