KR100558331B1 - Rule language processing system and method for describing web interlocking knowledge - Google Patents
Rule language processing system and method for describing web interlocking knowledge Download PDFInfo
- Publication number
- KR100558331B1 KR100558331B1 KR20030095706A KR20030095706A KR100558331B1 KR 100558331 B1 KR100558331 B1 KR 100558331B1 KR 20030095706 A KR20030095706 A KR 20030095706A KR 20030095706 A KR20030095706 A KR 20030095706A KR 100558331 B1 KR100558331 B1 KR 100558331B1
- Authority
- KR
- South Korea
- Prior art keywords
- rule
- knowledge
- web
- rulebase
- remote
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
본 발명은 웹에 분산된 두 가지 종류의 지식(온톨로지 및 규칙베이스)을 참조 및 해석하여 추론함으로써 지능적으로 각종 서비스를 제공하기 위한 규칙베이스를 작성하는데 효과적인 규칙 언어와 그 처리 시스템에 관한 것이다. 본 발명에 의한 규칙 언어는 URI를 기본 데이터 타입으로 가진다. 웹 온톨로지 및 규칙베이스에 기술되어 있는 지식 요소들을 참조하기 위하여 URI를 사용할 수 있으며, 본 발명에 의한 규칙 언어 실행 환경은 참조된 URI들을 대상으로 다양한 지식 습득 작용을 수행함으로써 본 발명에 의한 규칙 언어로 작성된 규칙베이스의 원활한 추론 작업이 가능하게 한다. 또한 본 발명에 의한 규칙 언어로 작성된 규칙베이스의 모든 구성 요소들(규칙(Rule), 사실(Fact), 술어(Predicate) 및 상수)은 구별자로 URI를 부여받는다. 각 요소에 부여된 URI는 원격지에 있는 본 발명에 의한 규칙 언어 규칙베이스를 참조할 때 참조자로 사용하게 되며, 이를 통해 원격지 지식베이스에 담긴 지식 요소를 손쉽게 참조할 수 있게 된다. 따라서 본 발명에 의한 규칙 언어는 확장된 규칙 표현력을 바탕으로 효과적인 지식 표현을 가능하게 하며, 2차 논리 형태의 술어 표현을 지원하므로 복잡한 형태의 규칙을 간단하게 표현할 수 있다.The present invention relates to a rule language and a processing system effective for creating a rulebase for intelligently providing various services by referring to, interpreting, and inferring two kinds of knowledge (ontologies and rulebases) distributed on the Web. The rule language according to the present invention has a URI as a basic data type. URI can be used to refer to the knowledge elements described in the web ontology and rulebase, and the rule language execution environment according to the present invention performs the various knowledge acquisition operations on the referenced URIs. Allows smooth inference of the written rulebase. In addition, all components (Rule, Fact, Predicate, and Constant) of the rulebase written in the rule language according to the present invention are given a URI as a separator. The URI given to each element is used as a reference when referring to the rule language rulebase according to the present invention at a remote location, through which the knowledge element contained in the remote knowledge base can be easily referred to. Therefore, the rule language according to the present invention enables efficient expression of knowledge on the basis of extended rule expression power, and supports the expression of predicates in the form of secondary logic so that the rules of complex forms can be easily expressed.
시맨틱 웹, 규칙베이스, 온톨로지, 규칙언어, 연동, 전문가 시스템Semantic Web, Rulebase, Ontology, Rule Language, Interworking, Expert System
Description
도 1a는 본 발명이 적용되는 분산 웹 지식 환경을 도시한 구성도,1A is a block diagram illustrating a distributed web knowledge environment to which the present invention is applied;
도 1b는 본 발명이 적용되는 시맨틱 웹의 계층적 구조를 도시한 도면,1B illustrates a hierarchical structure of the semantic web to which the present invention is applied;
도 2는 본 발명에 따른 규칙언어 처리시스템의 기본 구조도,2 is a basic structural diagram of a rule language processing system according to the present invention;
도 3은 본 발명에 의한 규칙 언어로 작성된 규칙베이스와 규칙언어 처리시스템을 이용한 분산 지식 참조, 입수 및 처리 개념을 도시한 도면, 3 is a diagram illustrating distributed knowledge reference, acquisition and processing concept using a rulebase and a rule language processing system written in a rule language according to the present invention;
도 4는 본 발명에 의한 규칙 언어 처리 시스템의 원격지 추론 엔진 연동을 통한 외부 웹 지식 참조 개념을 도시한 도면,4 is a diagram illustrating an external web knowledge reference concept through a remote inference engine interworking of a rule language processing system according to the present invention;
도 5는 본 발명에 의한 규칙 언어 처리 시스템의 원격 바인딩 수행 절차를 도시한 도면,5 is a diagram illustrating a remote binding performing procedure of a rule language processing system according to the present invention;
도 6은 본 발명에 따른 원격 추론 엔진과의 통신을 통한 원격 바인딩 실행 개념을 도시한 도면.6 is a diagram illustrating a remote binding execution concept through communication with a remote inference engine according to the present invention.
*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
102: 온톨로지 104: 온톨로지 규칙베이스102: ontology 104: ontology rule base
106: 규칙베이스 200: 규칙언어 처리시스템106: rulebase 200: rule language processing system
210: 내부 작업 메모리 220: 원격 바인더210: internal working memory 220: remote binder
230: 추론엔진 240: 온톨로지 변환기230: inference engine 240: ontology converter
250: 자바 객체 연동기250: Java object interlocker
본 발명은 인공지능 분야에서 지식 표현 및 추론 분야를 기반으로 하는 전문가 시스템(Expert System)에 관한 것으로, 더욱 상세하게는 웹에 분산된 두 가지 종류의 지식(온톨로지 및 규칙베이스)을 참조 및 해석하여 추론함으로써 지능적으로 각종 서비스를 제공하기 위한 규칙베이스를 작성하는데 효과적인 규칙 언어와 그 처리 시스템에 관한 것이다.The present invention relates to an expert system based on the field of knowledge representation and reasoning in the field of artificial intelligence. More specifically, it refers to and interprets two types of knowledge (ontologies and rulebases) distributed on the web. By reasoning, the present invention relates to a rule language and its processing system that are effective in creating a rulebase for intelligently providing various services.
일반적으로, 전문가 시스템과 같은 지식시스템은 전문가에 의해 사용되는 추론업무를 에뮬레이트하는 컴퓨터시스템이다. 이러한 지식시스템은 전형적으로 지식베이스(knowledge base)내에 저장된 엔코드된 전문가의 지식을 번역하기 위해 추론엔진(inference engine)을 사용한다. 지식베이스의 영역 또는 문제의 범위가 충분히 좁고, 충분히 큰 규모의 지식이 지식베이스 내에 적당히 코드된다면, 전문가시스템은 전문가의 능력에 필적하는 또는 그를 초과하는 성능을 달성할 수 있다. In general, knowledge systems, such as expert systems, are computer systems that emulate the inference tasks used by experts. Such knowledge systems typically use an inference engine to translate the knowledge of an encoded expert stored in a knowledge base. If the area of the knowledge base or the scope of the problem is sufficiently narrow and a sufficiently large amount of knowledge is properly coded in the knowledge base, the expert system can achieve performance comparable to or exceeding that of the expert.
이처럼, 전문가시스템은 어려운 문제를 해결하기 위하여 전문가의 지식을 적용시키는 것으로, 반복적인 방법에 의한 문제해결 행위로서 사고의 개념을 나타내 기 위해 심볼을 사용한다. 전문가시스템은 문제분야의 특수한 영역에 국한된 전문지식을 저장한 지식베이스가 있고, 이 지식베이스에는 지식이 사실(fact)이나 규칙(rule)의 형태로 저장된다. In this way, the expert system applies the expert's knowledge to solve difficult problems and uses symbols to represent the concept of thinking as a problem solving act by repetitive methods. An expert system has a knowledge base that stores expertise that is specific to a particular area of the problem area, where the knowledge is stored in the form of facts or rules.
전문가시스템의 핵심부분은 추론기관인데, 이는 현 상황에 적합한 규칙을 찾아내고, 이를 수행시키는 역할을 담당한다. 이러한 전문가시스템은 지식베이스, 작업메모리, 제어부분 및 추론엔진으로 구성되는데, 크게는 추론엔진과 지식베이스로 분류할 수 있다. 추론이란 알고 있는 사실(fact)과 규칙(rule)으로부터 새로운 사실을 추정하여 추출해나가는 과정을 말하고, 지식베이스는 데이터를 나타내는 사실과 그러한 사실들을 의사결정의 자료로 사용하는 규칙으로 구성된다.A key part of the expert system is the reasoning agency, which is responsible for identifying and implementing the appropriate rules for the current situation. Such expert system consists of knowledge base, working memory, control part, and inference engine, and can be classified into inference engine and knowledge base. Inference refers to the process of estimating and extracting new facts from known facts and rules, and the knowledge base consists of facts that represent data and rules that use those facts as the data for decision making.
이와 같은 전문가 시스템 분야는 발전과 실용화를 거듭하여 현재 상당수의 비즈니스 규칙 엔진(Business Rule Engine) 제품들이 기업의 업무용 응용으로 개발되어 있는 상황이다. 이러한 기존의 제품들은 종래의 전문가 시스템과 마찬가지로 폐쇄된 규칙베이스를 대상으로 추론 기능을 수행한다. 대개의 경우, 한번의 추론 세션 실행의 대상으로 단순하고 작은 규모의 규칙 집합(Rule Set)을 적용하고 있으며, 지식의 처리 측면 보다는 기업용 응용의 논리 연산을 대신하는 측면이 강하다. This field of expert systems has been developed and put into practical use, and now many business rule engine products are being developed for business applications. These existing products, like traditional expert systems, perform inference functions on closed rulebases. In most cases, a simple and small rule set is applied to the execution of one reasoning session, and it is a strong alternative to the logical operation of the enterprise application rather than the processing of knowledge.
예컨대, 삼성에스디에스(주)에서 출원하여 등록번호 0347961 호로 2002.08.09 자 등록받은 "상품/규칙 관리 시스템 및 방법, 그 프로그램 소스를 기록한 기록 매체 "는 보험, 은행, 카드 등 금융관련기관 시스템에 구현되어 있는 업무처리 로직 및 상품 관련 규칙들을 프로그램 소스 레벨이 아닌 데이터 베이스에 등록시키고, 이를 추론하는 규칙엔진이 해석하여 관련 업무가 처리될 수 있도록 하 기 위한 상품/규칙 관리 시스템 및 방법을 개시하고 있다. For example, "Product / Rule Management System and Method, and a recording medium recording the source of the program", filed by Samsung SDS Co., Ltd. and registered on Aug. 09, 2002, registered with No. 0347961, may be applied to financial institutions such as insurance, banks, cards, etc. To register the implemented business logic and product-related rules in the database, not the program source level, and to disclose a product / rule management system and method for interpreting the rule engine to infer the related business can be processed have.
이러한 선행기술은 네트워크 통신망을 통해 상품/규칙 관리 서버에 온라인 또는 배치 접속을 이룬 사용자의 요구에 응하여 검색된 정보를 제공하기 위한 상품 및 규칙 정보를 프로그램 언어를 이용하여 응용 로직으로 작성하는 것이 아니라, 각 규칙 및 상품 정보를 테이터베이스로 구축하여, 정보 검색 요구시 테이터베이스로부터 상품 및 규칙 정보를 검색하여 사용자가 요구하는 정보를 추론하고, 추론된 정보를 사용자에게 제공하는 한편, 상품 및 규칙 정보를 수정하거나, 새롭게 등록시키고자 하는 경우 응용의 수정없이 상술한 테이터베이스에 저장된 정보만을 변경시키거나, 새롭게 등록시켜 상품 및 규칙 정보를 간편하고, 정확하게 갱신할 수 있다. This prior art does not write product and rule information in application logic using a programming language to provide the retrieved information in response to a user's request for an online or batch connection to a product / rule management server through a network communication network. Constructing rules and product information into a database, retrieving the product and rule information from the database when requesting information retrieval, inferring the information required by the user, providing the inferred information to the user, and modifying the product and rule information Or, if you want to register a new, only the information stored in the above-described database without modifying the application can be changed or newly registered can easily and accurately update the product and rule information.
그리고 삼성중공업(주)에서 출원하여 등록번호 제 0241849 호로 2000.03.02 일자 등록받은 "블랙보드 기반의 혼합추론 전문가 시스템 "은 지식표현 및 지식기반이 간단한 소형 시스템과 복잡한 대형 시스템에 대하여 능동적으로 대처하며, 독립된 추론엔진을 갖는 블랙보드 기반의 전문가시스템을 개시하고 있다. 이러한 선행발명의 전문가시스템은 대상물로부터 획득하는 데이터를 모니터링하여 증상을 결정하는 모니터링모듈과, 모니터링모듈에서 결정한 증상을 이벤트로 생성하는 이벤트 핸들러와, 사실과 규칙의 형태로 지식을 저장하는 지식베이스 및 사실과 규칙으로부터 새로운 사실을 추정하여 추출하는 추론엔진으로 된 지식원과, 고장진단과정에서 생성되는 정보를 저장하는 작업메모리인 블랙보드 사이에서 서로 제어하지 않고 블랙보드의 변화에 의해서만 추론엔진이 가동되도록 구성된다. The "Blackboard-based Mixed Reasoning Expert System" filed by Samsung Heavy Industries Co., Ltd. and registered on 02.03.02 dated 2000.03.02 proactively responds to small and simple systems with simple knowledge expression and knowledge base. In addition, a blackboard-based expert system with independent reasoning engines is disclosed. The expert system of the present invention includes a monitoring module for determining symptoms by monitoring data obtained from an object, an event handler for generating symptoms determined by the monitoring module as an event, a knowledge base for storing knowledge in the form of facts and rules, The reasoning engine is operated only by the change of the blackboard without controlling each other between the knowledge source of the inference engine that estimates and extracts new facts from the facts and rules, and the working memory that stores the information generated in the troubleshooting process. It is configured to be.
그런데 이러한 종래기술들은 정형화된 웹 지식 표현 도구인 웹 온톨로지 또는 웹 상의 규칙베이스를 처리할 수 있는 기능을 보유하고 있지 않으며, 이와 같은 지식을 처리하려면 번거로운 변환 과정을 여러 단계 수행해야만 하는 문제점이 있다.However, these conventional technologies do not have a function of processing a web ontology or a rulebase on the web, which is a standardized web knowledge expression tool, and there is a problem that a cumbersome conversion process must be performed to process such knowledge.
한편, 최근 시맨틱 웹의 등장과 함께 지식을 정형화되고 표준화된 형태로 기술하여 웹 상에 공개하여 웹을 통한 지능적이고 정확한 정보 서비스를 가능하게 하는 기술이 각광을 받고 있다. 웹 친화적인 형태로 지식을 표현하는 기술로 웹 온톨로지 관련 업계의 표준 언어 및 처리 기술들이 등장하고 있으며, 표준화된 규칙 표현 방안도 논의되고 있다. On the other hand, with the advent of the Semantic Web, a technology that enables the intelligent and accurate information service through the web by describing knowledge in a standardized and standardized form and opening it on the web has been in the spotlight. As a technology for representing knowledge in a web-friendly form, standard language and processing technologies of the industry related to web ontology are emerging, and standardized rule expression methods are also discussed.
이와 같은 조류에 맞추어 시맨틱 웹 기술을 이용하여 저작 및 공개된 지식베이스를 참조하여 추론 등의 처리 작업을 수행하기 위한 추론 엔진들이 개발되고 있으며, 일부 공개된 것들도 있다. 이들 엔진은 웹 온톨로지를 참조할 수 있고 추론도 실행할 수 있어 웹 친화적이라는 장점을 지니고 있으나, 기존의 상용 비즈니스 엔진 제품들처럼 외부 객체 시스템과 연동할 수 없고, 표현력에 있어서도 비교적 열악한 문제점이 있다. 예를 들어, 규칙 표현에 있어 조건부에 'OR'를 사용할 수 없고, 결론부에 부정사를 사용할 수 없으며, 이들 엔진 대부분은 W3C의 RDF(Resource Description Framework)를 기반으로 하고 있어 술어의 항을 두 개 이상 기술할 수 없다. 따라서 이와 같은 표현력에 있어서의 제약은 사용자가 지식을 효과적으로 표현할 수 없는 문제점이 있다.In line with this trend, inference engines have been developed to perform processing such as inference by referring to a knowledge base published and published using semantic web technology, and some have been disclosed. These engines have the advantage of being web-friendly because they can refer to web ontology and perform inferences, but they cannot interoperate with external object systems like the existing commercial business engine products, and have relatively poor problems in expression power. For example, you can't use 'OR' in conditional expressions, you can't use infinitives in conclusions, and most of these engines are based on the W3C's Resource Description Framework (RDF). It can not be described above. Therefore, such a limitation in expressive power has a problem that a user cannot express knowledge effectively.
본 발명은 상기와 같은 문제점을 해결하기 위하여 상용 비즈니스 규칙 엔진들이 지닌 풍부한 지식 표현력 및 외부 객체 연동 기능 등을 보유하면서 웹 지식을 효과적으로 참조하고 처리할 수 있는 규칙언어 처리시스템 및 방법을 제공하는데 그 목적이 있다.The present invention provides a rule language processing system and method that can efficiently refer to and process web knowledge while retaining the rich knowledge expression power and external object interworking functions of commercial business rule engines to solve the above problems. There is this.
상기 목적을 달성하기 위한 본 발명의 시스템은 웹상에 분산되어 존재하는 온톨로지와 규칙베이스를 읽어들여 처리하기 위한 시맨틱 웹 시스템에 있어서, 소정의 규칙언어로 작성된 상기 규칙베이스를 읽어 저장하기 위한 내부 작업 메모리; 상기 웹으로부터 추론 작업에 필요한 온톨로지들을 읽어들여 내부 데이터 구조로 변환한 후 상기 내부 작업 메모리에 추가하는 온톨로지 변환기; 상기 웹에 존재하는 외부 추론 엔진과 통신을 통해 동적인 웹 지식을 실시간 참조하는 원격 바인더; 상기 내부 작업 메모리에 저장된 데이터를 처리하고, 상기 원격 바인더를 통해 외부 지식을 참조하여 추론 작업을 수행하는 추론엔진; 및 상기 추론 엔진이 추론 작업을 실행하는 도중 자바 클래스 타입 또는 메쏘드에 대한 참조 URI를 발견하게 되면, 특정 클래스 타입의 자바 객체를 찾거나 자바 객체의 메쏘드를 호출하기 위한 자바 객체 연동기를 포함하는 것을 특징으로 한다.The system of the present invention for achieving the above object is a semantic web system for reading and processing the ontology and rulebase existing on the web, the internal working memory for reading and storing the rulebase written in a predetermined rule language ; An ontology converter which reads ontology necessary for inferencing work from the web, converts it into an internal data structure, and adds it to the internal working memory; A remote binder for real-time reference of dynamic web knowledge through communication with an external inference engine residing on the web; An inference engine that processes data stored in the internal working memory and performs inference by referring to external knowledge through the remote binder; And a Java object interlocker for finding a Java class of a specific class type or calling a method of the Java object when the inference engine finds a reference URI for a Java class type or a method while executing the inference operation. It is done.
상기 목적을 달성하기 위하여 본 발명의 방법은, 웹상에 분산되어 존재하는 온톨로지와 규칙베이스를 읽어들여 처리하기 위한 시맨틱 웹에 있어서, (1)외부 웹 지식베이스를 참조하도록 하는 구문과, (2)이차 논리 형태의 술어 표현 구문, 원격 지식베이스 참조 구문과, (3)규칙베이스, 사실, 규칙, 클래스, 개체, 속성에 URI를 부여할 수 있는 구문과, (4)약한 부정과 강한 부정을 표현할 수 있는 구문을 동시에 지원하는 규칙 언어를 이용하여 규칙베이스를 저작하는 제 1단계; 상기 규칙베이스를 규칙 언어 처리기가 내부 작업 메모리로 로딩하는 제 2단계; 상기 규칙베이스에 기술된 바에 따라 원격지 웹 온톨로지 및 규칙베이스를 입수하여 상기 내부 작업 메모리에 추가하는 제 3단계; 자바 객체 연동을 지시하는 URI가 등장하면 자바 객체의 상태 참조 또는 상태 변경을 위한 메쏘드 호출을 수행하는 제 4단계; 및 원격 바인딩이 요청되는 경우, 외부 웹 지식베이스의 지식을 참조하여 바인딩을 시도하는 제 5단계를 포함하는 것을 특징으로 한다.
In order to achieve the above object, the method of the present invention is a semantic web for reading and processing ontologies and rulebases distributed on the web, including (1) a syntax for referencing an external web knowledge base, and (2) Predicate expression syntax in secondary logical form, remote knowledge base reference syntax, (3) a syntax for giving URIs to rulebases, facts, rules, classes, objects, and attributes, and (4) weak and strong negativity. Authoring a rulebase using a rule language that simultaneously supports a syntax that can be used; Loading the rulebase into an internal working memory by a rule language processor; A third step of obtaining a remote web ontology and rulebase as described in the rulebase and adding it to the internal working memory; A fourth step of performing a method call for a state reference or a state change of a Java object when a URI indicating a Java object interworking appears; And a fifth step of attempting binding by referring to knowledge of an external web knowledge base when a remote binding is requested.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[본 발명의 규칙언어 처리 시스템의 구조][Structure of Rule Language Processing System of the Present Invention]
도 1a는 본 발명에 의한 규칙 언어와 규칙언어 처리 시스템이 활용되는 전형적인 시맨틱 웹 환경을 도식화한 도면이고, 도 1b는 시맨틱 웹의 계층구조를 도시한 도면이다.FIG. 1A is a diagram illustrating a typical semantic web environment utilizing a rule language and a rule language processing system according to the present invention, and FIG. 1B is a diagram showing a hierarchical structure of the semantic web.
통상, 시맨틱 웹(semantic web)은 웹상의 정보에 잘 정의된 의미를 부여함으로써 사람뿐만 아니라 컴퓨터도 쉽게 문서의 의미를 해석할 수 있게 하여 컴퓨터를 이용한 정보의 검색 및 해석, 통합 등의 업무를 자동화하기 위한 것이다. 이러한 시맨틱 웹은 도 1b에 도시된 바와 같이, URI, Unicode, XML, 명칭공간(Namespaces), RDF DB, RDF 스키마, 온톨로지(ontology), 규칙(Rule), 프루프(Proof), 트러스트(Trust)에 이르는 계층적인 구조를 갖고 있다. 가장 기본이 되는 층은 자원을 명시적으로 지칭하는 URI(Universal Resource Identifier)와 UNICODE로 구성되고, 그 위에 임의의 개념을 모듈방식으로 정의할 수 있는 XML(Extensible Markup Language)과 명칭공간이 있고, 그 다음으로 자원을 기술하기 위한 RDF(Resource Description Framework)가 위치한다. XML은 각자 웹 페이지의 일부분을 사용자가 정의한 태그로 표시하는 것이 가능하고, RDF에서는 의미를 주어, 동사, 목적어에 해당하는 3가지 요소(자원, 속성, 값)로 표현한다. 온톨로지는 특정 도메인의 지식을 명시적으로 표현하기 위한 개념들, 개념 사이의 관계, 개념의 속성 및 특성, 속성 및 특성에 부여된 제약조건 및 객체들로 표현된다. 규칙과 논리는 온톨로지에 기반하여 추론을 가능하게 하고, Proof와 Trust는 시맨틱 웹 정보의 신뢰성과 보안에 관한 내용이다.In general, the semantic web gives well-defined meanings to information on the web so that not only people but computers can easily interpret the meanings of documents, thereby automating tasks such as searching, interpreting, and integrating information using computers. It is to. Such a semantic web is represented in URI, Unicode, XML, Namespaces, RDF DB, RDF Schema, Ontology, Rule, Proof, and Trust. It has a hierarchical structure. The most basic layer consists of Universal Resource Identifiers (URIs) and UNICODEs that explicitly refer to resources, on top of which there are Extensible Markup Language (XML) and namespaces that allow you to define arbitrary concepts modularly. Next, a resource description framework (RDF) for describing a resource is located. XML can display parts of web pages with user-defined tags. RDF gives meaning and expresses three elements (resource, attribute, value) corresponding to verb and object. Ontologies are expressed as concepts to express knowledge of a particular domain, relationships between concepts, attributes and properties of concepts, constraints and objects imparted to properties and properties. Rules and logic enable inference based on ontology, while Proof and Trust are about the reliability and security of semantic web information.
도 1a를 참조하면, 본 발명이 적용될 수 있는 웹(Web)에는 온톨로지(102)와 온톨로지 규칙베이스(104)를 갖는 제1 사이트(Site 1)와, 온톨로지(102)와 온톨로지 규칙베이스(104)를 갖는 제2 사이트(Site 2), 규칙베이스(106)를 갖는 제3 사이트(Site 3), 규칙베이스(106)를 갖는 제4 사이트(Site 4), 온톨로지(102)를 갖는 제5 사이트(Site 5)가 존재하고 있다.Referring to FIG. 1A, a web to which the present invention may be applied includes a first site having an
도 1에 도시된 바와 같이, 웹 지식은 크게 두 종류로 나뉘어지는데, 하나는 온톨로지(Ontology:102)이고, 다른 하나는 규칙베이스(Rulebase:106)이다. 온톨로지(102)와 규칙베이스(106)는 각기 지식 표현 특성 및 표현력이 상이한 부분이 있 으므로, 사용자는 온전한 지식 표현을 위해 온톨로지(102)와 규칙베이스(106)를 모두 사용해야 한다. 제 1사이트(Site 1)와 제 2사이트(Site 2)는 하나의 사이트에 두 종류의 지식베이스, 즉 온톨로지(102)와 온톨로지 규칙베이스(104)가 공존하는 상황을 보여준다. As shown in FIG. 1, web knowledge is largely divided into two types, one is ontology (102) and the other is rulebase (106). Since the
예를 들어, 가족 관계를 표현하는 지식을 서비스하는 사이트를 구축하는 경우, 가족 구성 구조를 표현하는 지식은 온톨로지(102)를 사용하되, 온톨로지(102)로 표현할 수 없는 관계 - 예를 들어, 삼촌과 조카 관계 - 나 규칙으로 표현될 수 밖에 없는 지식 - "아버지는 같지만 어머니는 서로 다른 두 형제가 있다면 이들은 이복 형제다." - 은 온톨로지 규칙베이스(104)를 통해 표현한다. For example, if you build a site that services knowledge that represents family relationships, knowledge that expresses family organizational structure uses an
이와 같이 온톨로지와 규칙베이스는 상보적인 관계로서 온전한 지식을 표현하기 위해 양자가 다 필요하며, 따라서 본 발명의 규칙언어 처리시스템(200)은 적절한 웹 지식 처리를 위해 규칙 뿐만 아니라 온톨로지로 표현된 지식도 처리할 수 있어야 한다. 또한 온톨로지로 표현된 지식을 규칙베이스에서 사용하거나 규칙베이스에서 정의된 지식을 온톨로지에서 사용할 수 있는 방법이 필요하다. 본 발명에 의한 규칙 언어 및 규칙언어 처리 시스템은 이러한 요구 사항을 적절히 만족시킨다.As such, the ontology and rulebase are both required to express intact knowledge as a complementary relationship, and therefore, the rule
도 2는 본 발명에 따른 규칙언어 처리 시스템의 구성 블록도이다.2 is a block diagram of a rule language processing system according to the present invention.
도면을 참조하면, 본 발명의 규칙언어 처리시스템(200)은 내부 작업 메모리(210), 원격 바인더(220), 전향 추론엔진(230), 온톨로지 변환기(240), 자바 객체 연동기(250) 등 크게 다섯가지 주요 구성 요소로 이루어져 있다.Referring to the drawings, the rule
추론엔진(230)은 본 발명에 의한 규칙언어로 작성된 규칙베이스(106)를 입력으로 추론 작업을 수행하는 전향 추론 엔진이다. 규칙언어 처리시스템(200)은 규칙베이스(106)를 읽어들인 다음 내부 작업 메모리(210)에 입력하고, 추론 엔진(230)은 내부 작업 메모리(210)를 대상으로 추론 작업을 수행한다. The inference engine 230 is a forward inference engine that performs inference by inputting the
웹 온톨로지(102)는 앞서 설명한 대로 규칙베이스(106)와 상보적인 관계를 유지하는 지식베이스이다. 본 발명의 규칙언어 처리시스템(200)은 추론 작업에 필요한 온톨로지(102)들을 웹으로부터 읽어들인 다음 온톨로지 변환기(240)를 통해 내부 데이터 구조로 변환한 후, 내부 작업 메모리(210)에 추가함으로써 추론 작업에 적용한다. The
자바 객체 연동기(250)는 본 발명에 의한 규칙언어 처리시스템(200)의 자바 객체 연동 기능을 담당하는 부분이다. 추론 엔진(230)이 추론 작업을 실행하는 도중 자바 클래스 타입 또는 메쏘드에 대한 참조 URI를 발견하게 되면, 특정 클래스 타입의 자바 객체(202)를 찾거나 자바 객체(202)의 메쏘드를 호출해야 한다. The
이러한 작업을 수행하는 부분이 자바 객체 연동기(250)이다. 원격 바인더(220)는 본 발명에 의한 규칙언어 처리시스템(200)이 웹 상에 분산되어 있고, 동적으로 변화하는 지식들을 대상으로 추론하기 위해 필요한 기능을 수행하는 부분이다. 원격 바인더(220)는 외부 추론 엔진(204) 또는 외부 지식베이스 - 즉, 웹 온톨로지, 규칙베이스, 원격 자바 객체, 웹 서비스 등 - 를 참조하여 내부 규칙 처리를 수행하는 요소이다. 주로 외부 추론 엔진(204)과 통신을 통해 동적인 웹 지식을 실시간 참조하는 기능을 수행하게 된다.The part performing such a task is the
이러한 본 발명의 규칙언어 처리시스템에 의해 처리되는 본 발명의 규칙언어는 다음과 같다.The rule language of the present invention processed by such a rule language processing system of the present invention is as follows.
[본 발명에 의한 규칙 언어][Rule Language According to the Present Invention]
본 발명은 웹 연동 지식 처리에 적합한 규칙 언어를 포함하고 있다. 다음 표 1은 본 발명에 의해 제시된 규칙 언어의 구문 구조를 가상의 BNF(Backus-Naur Form)로 기술한 것이다. 이하에서는 주요 생성 규칙을 중심으로 언어의 구조와 기능을 설명한다. The present invention includes a rule language suitable for web-linked knowledge processing. Table 1 below describes the syntax structure of the rule language presented by the present invention as a virtual BNF (Backus-Naur Form). Hereinafter, the structure and function of the language will be described based on the main generation rule.
[규칙베이스(Rulebase)][Rulebase]
본 발명에 따른 규칙언어를 이용하여 규칙베이스는 다음 표 2와 같이 정의된다.Using the rule language according to the present invention, a rule base is defined as shown in Table 2 below.
상기 표 2를 참조하면, 규칙베이스는 각종 URI 관련 정보의 나열로 시작된다. "reference" 생성 규칙은 규칙베이스 처리를 위해 참조해야 할 필요가 있는 지식베이스를 가리키는 URI를 기술하는데 사용한다. 여기서, 지식베이스는 웹 온톨로지(102) 또는 규칙베이스(106)이다.Referring to Table 2 above, the rulebase begins with a list of various URI-related information. The "reference" generation rule is used to describe a URI that points to a knowledge base that needs to be referenced for rulebase processing. Here, the knowledge base is the
"uriprefix" 생성 규칙은 규칙베이스에서 사용할 URI에 대한 축약자를 지시하기 위해 사용한다. The "uriprefix" generation rule is used to indicate an abbreviation for the URI to use in the rulebase.
"basenamespace" 생성 규칙은 규칙베이스에 의해 생성되는 지식 요소들 - 규칙, 사실, 술어 등 - 이 존재하는 이름 공간을 정의하기 위해 사용한다.The "basenamespace" generation rule is used to define the namespace in which the knowledge elements generated by the rulebase-rules, facts, predicates, and so on-exist.
규칙베이스의 본체는 키워드인 "rulebase"로 시작된다. "rulebase" 다음에 규칙베이스를 지칭하는데, 사용될 규칙베이스의 이름이 기술된다. 규칙베이스의 내용은 중괄호("{", "}")로 둘러쳐진다. 규칙베이스의 구성 내용은 참으로 선언된 사실(fact), 규칙(rule), 클래스 정의(classdef), 속성 정의(propertydef), 개체 정의(individual)로 구성된다. 다음 표 3의 코드는 rulebase 생성 규칙에 따라 규 칙베이스의 뼈대를 적은 예이다.The body of a rulebase begins with the keyword "rulebase". "rulebase" is followed by a rulebase, in which the name of the rulebase to be used is described. The contents of the rulebase are enclosed in braces ("{", "}"). The rulebase consists of facts, rules, classdefs, propertydefs, and individual definitions declared as true. The code in Table 3 below shows the skeleton of the rulebase according to the rulebase creation rule.
이 예에서 MyRuleBase는 namespace에 의해 정의된 이름 공간 URI인 "http://mysite.com/Rules#"의 수식을 받게 되어 외부에서 이 규칙베이스를 참조할 때는 "http://mysite.com/Rules#MyRuleBase"로 참조하여야 한다.In this example, MyRuleBase receives a formula of "http://mysite.com/Rules#", which is the namespace URI defined by the namespace, so when referencing this rulebase externally, "http://mysite.com/Rules #MyRuleBase ".
다음 표 4는 본 발명에 의한 규칙 언어로 작성한 규칙베이스의 예로서, RDF 추론을 위한 규칙베이스의 일부분이다.Table 4 below is an example of a rulebase written in the rule language according to the present invention, and is a part of the rulebase for RDF inference.
본 발명에 의한 규칙언어 처리시스템(200)은 이상에서 설명한 규칙베이스를 이용하여 추론 작업을 실행할 때, "reference" 부에 적힌 URI에 접근하여 입수 가 능한 지식베이스가 있으면 입수하여 내부 작업 메모리(210)에 입력함으로써 해당 지식베이스에 대한 참조가 가능하도록 한다. When the rule
도 3은 본 발명에 따라 이와 같이 정적으로 외부 웹 지식을 참조하는 구조를 보여준다. 3 illustrates a structure of referencing external web knowledge statically in accordance with the present invention.
제 1사이트(310)의 규칙언어 처리 시스템의 추론엔진(301)은 본 발명에 의한 규칙 언어로 작성된 규칙베이스(106)를 대상으로 추론 작업을 수행한다. 규칙베이스(106) 내에 refer 구문을 통해 외부 지식베이스에 대한 참조 지시가 있는 경우, 추론엔진(301)은 기술된 URI들을 이용하여 사이트2(320), 사이트3(330), 사이트4(340)에 접속, 각 사이트에서 제공하는 지식베이스(온톨로지나 규칙베이스)를 읽어온다. 읽어 온 지식베이스 즉, 웹 온톨로지(102)와 규칙베이스(106)는 규칙언어 처리시스템(200)의 내부 작업 메모리(210)에 추가된다.The
[사실 정의(fact)][Fact]
본 발명의 규칙언어에서 사실정의는 다음 표 5와 같이 정의된다.In the rule language of the present invention, the fact definition is defined as shown in Table 5 below.
상기 표 5에서 사실(fact)은 상수 술어 기호와 상수항만으로 이루어진 "gpredicate"으로 구성된다. "neg"는 강한 부정을 나타내는 키워드로서, 사실에 "neg"가 붙으면 그 사실의 정반대를 참으로 선언하는 셈이 된다. 기존의 논리 프로그래밍 언어나 상용 비즈니스 규칙 제품들은 강한 부정을 표현할 수 있는 방편을 제공하지 않았으나, 본 발명에 의한 규칙 언어는 "neg" 키워드를 이용하여 이를 표현할 수 있도록 하고 있다. 다음 표 6의 코드는 사실(fact) 생성 규칙에 따라 작성한 사실 정의 구문의 예이다.In Table 5, a fact consists of a "gpredicate" consisting of a constant predicate symbol and a constant term only. "neg" is a keyword indicating strong negation. When "neg" is given to a fact, it is true that the opposite of the fact is declared. Conventional logic programming languages or commercial business rule products do not provide a way to express strong negativity, but the rule language according to the present invention can express it using the keyword "neg". The code in Table 6 below is an example of a fact definition syntax written according to a fact generation rule.
상기 표 6에서 (1)번 구문은 John이라는 개체가 Sam이라는 개체를 아버지로 가진다는 의미가 되고, (2)번 구문은 Sam이라는 개체가 Nil이라는 개체를 형제로 가진다는 의미가 된다.In Table 6, the phrase (1) means that the entity John has an entity Sam as a father, and the phrase (2) means that the entity Sam has an entity Nil as a sibling.
[클래스 정의(classdef)][Classdef]
본 발명의 규칙언어에서 클래스는 다음 표 7과 같이 정의된다.In the rule language of the present invention, classes are defined as shown in Table 7 below.
상기 표 7에서 클래스는 객체 지향적 지식을 표현하기 위한 용도로 사용된다. 클래스와 속성을 정의함으로써 객체의 구조를 정의하고, 객체 정의를 통해 클래스의 구체적 사례들을 생성할 수 있다. 구문 구조에서 보듯이 클래스 정의는 정의되는 클래스의 ID를 기술하는 간단한 구조로 되어 있다. 추가적으로 상위 클래스 목록을 "inherits" 키워드를 이용하여 기술할 수 있다.In Table 7, the class is used to express object-oriented knowledge. By defining classes and attributes, you can define the structure of an object, and you can create concrete examples of classes through object definitions. As you can see from the syntax structure, the class definition is a simple structure that describes the ID of the class being defined. In addition, the upper class list can be described using the keyword "inherits".
다음 표 8은 본 발명의 규칙언어에서 클래스를 정의하는 예이다.Table 8 below is an example of defining classes in the rule language of the present invention.
[속성 정의(propertydef)][Propertydef]
본 발명의 규칙언어에서 속성은 다음 표 9와 같이 정의된다.In the rule language of the present invention, attributes are defined as shown in Table 9 below.
속성 정의는 클래스가 가지는 속성들을 정의하기 위해 사용하는 구문이다. 속성의 ID와 정의되는 속성을 가지게 되는 클래스들의 목록, 그리고 속성의 데이터 타입이 기술된다. 다음 표 10의 코드는 속성 정의의 예이다.Property definition is the syntax used to define properties of a class. The ID of the property, the list of classes that will have the property defined, and the data type of the property are described. The code in Table 10 below is an example of an attribute definition.
상기 표 10에서 (1)은 "age"라는 속성을 생성하는 구문이다. age는 Human 클래스의 속성으로 사용될 수 있으며, age 속성이 가질 수 있는 값은 W3C의 XML 스키마에 정의된 양의 정수(positiveInteger)라고 정의하고 있다. 본 발명에 의한 규칙언어 처리시스템(200)은 XML 스키마에 정의된 데이터 타입을 이해하며, 이에 따라 age 속성이 개체 선언이나 규칙에서 사용되었을 때 그 값이 양의 정수값에 합당한지 검사할 수 있다. 상기 표 10에서 (2)는 Human 클래스의 속성으로서, 타입이 Human 클래스인 속성 hasFather를 정의하는 구문이다.In Table 10, (1) is a syntax for creating an attribute called "age." age can be used as an attribute of Human class, and the value that age attribute can have is defined as positive integer (positiveInteger) defined in W3C's XML schema. The rule
[개체 정의(individual)][Individual definition]
본 발명의 규칙언어에서 개체는 다음 표 11과 같이 정의된다.In the rule language of the present invention, an entity is defined as shown in Table 11 below.
상기 표 11에서 개체는 클래스의 구체적인 사례이다. 개체 정의는 개체의 ID, 개체의 타입, 그리고 개체의 속성값을 나열함으로써 정의된다. 다음 표 12의 코드는 개체 정의 예이다.In Table 11, the entity is a concrete example of a class. An entity definition is defined by listing the entity's ID, the entity's type, and its property values. The code in Table 12 below is an example of an object definition.
상기 표 12의 구문은 John이라는 개체를 생성하는 구문이다. John의 타입은 Human 클래스이고, age 속성값은 16, hasFather 속성값은 Sam을 설정하고 있다.The syntax in Table 12 is a syntax for creating an entity named John. John's type is the Human class. The age property is set to 16 and the hasFather property is set to Sam.
[규칙 정의(rule)][Rule]
본 발명의 규칙언어에서 규칙은 다음 표 13과 같이 정의된다.Rules in the rule language of the present invention are defined as shown in Table 13.
다음 표 13에서 규칙베이스의 핵심 지식 요소인 규칙은 조건부와 결론부로 구성된다. "Rulebody" 생성 규칙에서 키워드 "if" 다음에 나오는 문장(sentence)은 조건부를 기술하는 문장이며, "then" 다음에 나오는 문장(sentence)은 결론부를 기술하는 문장이다. In Table 13, rules, the core knowledge element of the rulebase, consist of conditional parts and conclusions. In the "Rulebody" generation rule, the sentence following the keyword "if" is a sentence describing a conditional condition, and the sentence following "then" is a sentence describing a conclusion portion.
"quantifier"는 양화사를 기술하는 생성 규칙이다. "forall"은 보편 양화사를 의미하여 뒤에 등장하는 변수들을 수식하고, "forsome"은 존재 양화사를 의미한다. "sentence"는 논리문을 나타낸다. 본 발명에 의한 규칙 언어에서 논리문은 "and" 또는 "or"로 연결된 "atom" 들의 목록이다."quantifier" is a production rule describing a quantifier. "forall" means universal Yangsa, modifies the variables that appear later, and "forsome" means existence Yangsa. "sentence" represents a logical statement. In the rule language according to the present invention, a logical statement is a list of "atoms" connected by "and" or "or".
atom은 가장 기본적인 논리 요소로서, 여기서는 하나의 리터럴(literal) 또는 괄호로 묶인 sentence로 정의되었다.The atom is the most basic logical element, defined here as a literal or parenthesized sentence.
다음 표 14의 코드는 규칙 정의 구문에 따른 규칙 정의의 예이다.The code in Table 14 below is an example of rule definition according to the rule definition syntax.
여기서, hasFather(?x,?y), hasBrother(?y,?z), hasUncle(?x,?z)은 각각 "atom"이며, hasFather(?x,?y) and hasBrother(?y,?z)는 "sentence"가 된다. 물음표(?)가 앞에 붙은 구별자(identifier)는 변수를 나타낸다.Where hasFather (? X,? Y), hasBrother (? Y,? Z) and hasUncle (? X,? Z) are "atom", respectively, and hasFather (? X,? Y) and hasBrother (? Y ,? z) becomes "sentence". An identifier preceded by a question mark (?) Denotes a variable.
[리터럴 정의(literal)][Literal]
본 발명의 규칙언어에서 리터럴은 다음 표 15와 같이 정의된다.In the rule language of the present invention, literals are defined as shown in Table 15 below.
앞서 atom 생성 규칙에서 본 바와 같이, atom의 기본 구성 요소는 리터럴(literal)이다. 리터럴(literal)은 하나의 술어로 볼 수 있다. 단, 술어에 수식어가 붙거나 술어를 연산식의 형태로 적음으로써 몇가지 서로 다른 형태를 띨 수 있으므로, 이러한 여러 형태의 술어들을 묶어 리터럴(literal)로 종합하고 있다.As we saw earlier in the atom creation rules, the basic component of an atom is literal. Literal can be seen as a predicate. However, by adding a modifier to a predicate or by writing a predicate in the form of an expression, several different forms can be taken. Therefore, these predicates are combined and synthesized as literals.
생성 규칙에서 보듯이 리터럴(literal)은 일반 술어(predicate), 앞에 "not"이 붙은 약한 부정 술어, "neg"이 붙은 강한 부정 술어, 그리고 연산식의 형태로 기술된 비교연산술어(compexpr)로 구분된다. 여기서, 본 발명에 의한 규칙 언어의 특징적인 부분은 술어(predicate)의 술어 기호(predsymbol) 자리에 변수(variable)가 올 수 있다는 점이다. As you can see from the construction rules, literals are ordinary predicates, weak negation predicates with "not", strong negation predicates with "neg", and compexpr in the form of expressions. Are distinguished. Here, a characteristic part of the rule language according to the present invention is that a variable may come in place of a predsymbol of a predicate.
일차 술어 논리에서는 술어 기호 자리에 변수가 올 수 없다. 본 발명에 의한 규칙 언어는 여타의 상용 비즈니스 엔진 제품의 규칙 언어와 달리 이차 논리 형태의 술어를 기술할 수 있는 구문을 제공하므로 보다 폭넓은 지식 표현을 가능하게 한다. 본 발명에 의한 규칙언어 처리시스템(200)은 이차 논리 형태의 술어를 처리할 수 있는 추론 기능을 보유한다.In primary predicate logic, variables cannot come in place of predicate symbols. The rule language according to the present invention, unlike the rule language of other commercial business engine products, provides a syntax for describing predicates in the form of secondary logic, thereby enabling a wider knowledge representation. The regular
"term"은 술어나 함수의 항을 나타낸다. 본 발명에 의한 규칙 언어는 상용 비즈니스 규칙 엔진 제품들과 마찬가지로 객체 지향 방식의 속성값 참조 기능을 제 공한다. 즉, John.age 와 같은 구문을 말한다. 이 구문은 John 개체의 age 속성값을 참조하는 기능을 수행한다."term" represents a term of a predicate or function. The rule language according to the present invention, like commercial business rule engine products, provides an object-oriented attribute value reference function. That is, the same syntax as John.age. This statement performs a reference to the age property of the John object.
"compexpr" 생성 규칙은 비교 연산 형태의 술어 기술을 가능하게 한다.The "compexpr" generation rule enables the description of predicates in the form of comparison operations.
다음 표 16의 코드는 다양한 리터럴(literal) 구문 사용예이다.The code in Table 16 below shows examples of using various literal statements.
상기 표 16에서 구문 (1)은 가장 일반적인 술어이고, 구문 (2)는 비교 연산 형태의 술어이다. 구문 (3)은 약한 부정인 "not"을 이용한 술어 사용예이고, 구문 (4)는 강한 부정인 "neg"을 이용한 술어 사용예이다. 구문 (5)는 이차 논리 형태의 술어를 포함하는 문장 구성 예이다. 여기서, 주의할 점은 술어 기호로 사용된 변수 ?p 가 그 다음 술어인 "follows"의 항으로 사용되고 있다는 점이다. In Table 16, syntax (1) is the most common predicate, and syntax (2) is a predicate in the form of a comparison operation. Syntax (3) is an example of using a predicate with a weak negation of "not", and syntax (4) is an example of using a predicate using a strong negation of "neg". The syntax (5) is an example of constructing a sentence including a predicate of a secondary logical form. Note that the variable? P, which is used as a predicate symbol, is used as a term for the next predicate "follows".
이와 같은 표현력은 일차 논리를 기반으로 하는 기존의 상용 비즈니스 규칙 엔진 제품에서는 불가능하다. 구문 (6)은 객체 지향 방식의 속성값 참조 구문을 사용하여 술어를 구성한 예이다. 구문 (6)의 두번째 술어에서 ?x.age는 ?x에 바인딩된 개체의 age 속성값을 가리킨다. This expressiveness is not possible with existing commercial business rule engine products based on primary logic. Syntax (6) is an example of constructing a predicate using an object-oriented attribute value reference syntax. In the second predicate of syntax (6),? X.age refers to the age attribute value of the object bound to? X.
[함수 호출(functioncall)][Functioncall]
본 발명의 규칙언어에서 함수호출은 다음 표 17과 같이 정의된다.In the rule language of the present invention, a function call is defined as in Table 17 below.
함수 호출은 수학적 연산과 같이 내장 함수를 통해 해결해야 할 기능들을 필요로 할 때 사용한다. 함수의 구조는 술어의 구조와 거의 동일하나, 술어는 논리문의 구성 요소로서 사용되는 반면, 함수는 술어의 항으로만 사용될 수 있다는 점이 다르다.Function calls are used when you need functions that need to be solved through built-in functions, such as mathematical operations. The structure of a function is almost identical to that of a predicate, except that a predicate is used as a component of a logical statement, whereas a function can only be used as a term in a predicate.
다음 표 18은 함수 호출을 사용한 예이다.Table 18 shows an example of using a function call.
상기 표 18에서 구문 (1)은 ?x에 바인딩된 개체의 age 속성값과 20을 입력 인수로 하여 add() 함수를 호출하는 예이다. 구문 (2)는 두 개의 입력 인수를 곱하는 mult() 함수 호출 예이다.In Table 18, the syntax (1) is an example of calling the add () function using the age attribute value of the object bound to? X and 20 as input arguments. Syntax (2) is an example of a mult () function call that multiplies two input arguments.
[강한 부정과 약한 부정의 동시 지원][Simultaneous Support of Strong and Weak Negatives]
약한 부정(Negation As Failure 또는 Weak Negation)만을 지원하는 기존의 논리 프로그래밍 언어나 상용 비즈니스 엔진 제품들은 특정 사실이 지식베이스에 포함되어 있지 않으면 그 사실의 부정을 참으로 판단하도록 하는 추론 기법을 사용하였다. 이는 패쇄된 지식베이스를 대상으로 한 추론에서는 효용성이 있으나, 개방된 웹 지식을 대상으로 하는 경우 효용성이 반감된다. 또한, 주요한 추론의 대상 이 되는 웹 온톨로지(102)는 강한 부정을 표현할 수 있으므로, 웹 온톨로지(102)를 대상으로 추론을 수행하려면 강한 부정을 처리할 수 있어야 한다.Conventional logic programming languages or commercial business engine products that support only weak negation (Negation As Failure or Weak Negation) have used inference techniques that allow the facts to be true if they are not included in the knowledge base. This is useful in reasoning on a closed knowledge base, but its effectiveness is halved when targeting open web knowledge. In addition, since the
따라서, 웹 연동 기능을 제공하고자 하는 규칙 언어는 강한 부정과 약한 부정을 동시에 지원함으로써 사용자가 효과적으로 웹 온톨로지(102)로 표현된 지식을 처리하고, 약한 부정의 능률적인 부정 지식 추론 기법을 활용할 수 있도록 해야 한다.Therefore, the rule language that wants to provide a web interworking function supports both strong and weak negation at the same time so that the user can effectively process the knowledge represented by the
본 발명에 의한 본 발명에 의한 규칙 언어는 강한 부정과 약한 부정을 모두 표현할 수 있는 구문을 각각 "neg"와 "not"키워드를 통해 제공하고 있으며, 본 발명에 의한 규칙언어 처리시스템(200)은 이 두 가지 부정을 적절히 처리할 수 있는 추론 기능을 보유한다.The rule language according to the present invention according to the present invention provides phrases that can express both strong and weak negation through the keywords "neg" and "not", respectively, and the rule
[강한 부정을 통한 안전하지 않은 약한 부정의 처리][Unsafe weak negation through strong negation]
일반적으로 약한 부정을 사용하려면 문장을 안전한 형태로 구성해야만 한다. 다음 표 19의 예에서 구문 (1)은 안전한 약한 부정이지만, 구문 (2)는 안전하지 못한 약한 부정이다.In general, the use of weak negation requires constructing sentences in a safe form. In the following example of Table 19, syntax (1) is a safe weak negation, while syntax (2) is an unsafe weak negation.
상기 표 19에서 구문 (1)은 긍정 술어인 Human(?x) 를 통해 ?x에 올 수 있는 상수들이 일차 결정되기 때문에 not Woman(?x)를 처리하는데 아무런 문제가 없다. 그러나 구문 (2)와 같은 약한 부정을 포함하는 문장에 있어서, not Woman(?x)의 ?x의 자리에는 Woman으로 정의된 상수들을 뺀 나머지 모든 상수들이 올 수 있으므로 적절한 추론을 수행할 수 없어 기존의 추론 엔진들은 이러한 안전하지 않은 문장은 허용하지 않는다.In Table 19, the syntax (1) has no problem in processing not Woman (? X) because constants that may come to? X are first determined through the positive predicate Human (? X). However, in a sentence containing a weak negation such as the syntax (2),? X in not Woman (? X) can come in place of all constants except constants defined as Woman, so proper inference cannot be performed. Inference engines do not allow these unsafe statements.
본 발명에 의한 규칙언어 처리시스템(200)은 강한 부정을 이용하여 안전하지 않은 약한 부정을 처리할 수 있다. 다음의 표 20의 예를 보자.The rule
위와 같은 강한 부정을 포함하는 사실과 규칙이 포함된 경우, 존(John) 이라는 개체에 대해 추론 엔진은 neg Woman(John) 이라는 사실을 도출하게 된다. not Woman(?x) 자체로는 안전하지 않은 약한 부정이라 처리가 불가능하지만, neg Woman(John)이라는 도출된 사실을 바탕으로 not Woman(John)을 유추할 수 있게 되며, ?x에 John을 연결시킬 수 있게 된다. 이는 기존의 약한 부정 처리 방식을 확장한 것으로서, 부정 지식의 처리에 매우 유용하다.If the facts and rules include the above strong negation, the inference engine derives the neg woman (John) for the entity named John. Not Woman (? x) by itself is insecure and weak to negate, but we can infer not Woman (John) based on the fact that neg Woman (John) is derived, and connect John to? x. You can do it. This is an extension of the existing weak negation scheme and is very useful for the processing of negation knowledge.
[이차 논리 형태의 술어 표현][Predicate Representation of Secondary Logical Forms]
현재 상용 비즈니스 규칙 엔진들은 일차 술어 논리를 기반으로 하고 있어, 술어 기호로 변수를 사용할 수 없다. 그러나, 본 발명에 의한 규칙언어 처리시스 템(200)은 술어 기호로 변수를 사용할 수 있다. 변수를 술어 기호로 사용하게 되면 술어 자체에 대한 추론 규칙을 기술할 수 있으므로, 복잡한 규칙을 간단하게 표현할 수 있다. 다음 표 21은 이차 논리를 활용한 규칙 활용의 예이다.Currently, commercial business rule engines are based on primary predicate logic, so you cannot use variables as predicate symbols. However, the regular
여기서, 구문 (1)은 이차 논리 형태의 술어들을 포함하고 있고, "follows" 술어는 술어에 대한 술어임을 알 수 있다. 이러한 형태의 규칙을 일차논리로 표현하게 되면 다음 표 22와 같다.Here, it can be seen that syntax (1) includes predicates of secondary logical form, and the "follows" predicate is a predicate for the predicate. When this type of rule is expressed as primary logic, it is shown in Table 22 below.
상기 표 22에서 구문 (1)은 "asserted" 라는 범용 술어를 이용하여 이차 논리 형태의 술어를 대신하게 하고 있다. "asserted" 술어의 첫번째 항은 실제 술어를 나타내고, 나머지 항들은 술어의 항에 사상된다. 이러한 일차 논리 형태의 구문은 술어 기호로 asserted를 사용하므로 술어 본연의 의미가 드러나지 않는다는 단점을 보인다. 또한 규칙의 구조가 복잡해지면 저작하기도 어렵고, 이해하기도 어려운 구문이 되어 버린다. 이차 논리 구문 형태를 사용하게 되면 자연스럽고 간결 한 규칙 표현이 가능하게 되고, 술어에 대한 지식 표현을 풍부하게 할 수 있으므로 사용자의 지식 표현 생산성을 높여준다.In Table 22, the syntax (1) is to replace the predicate of the secondary logic form by using a general-purpose predicate "asserted". The first term of the "asserted" predicate represents the actual predicate, and the remaining terms are mapped to the terms of the predicate. This primary logic form has the disadvantage of using asserted as the predicate symbol, which does not reveal the meaning of the predicate. In addition, when the structure of a rule becomes complicated, it becomes a syntax that is difficult to write and difficult to understand. The use of secondary logical syntax forms enables natural and concise rule expressions, and enriches the expression of knowledge about predicates, thus enhancing the user's knowledge representation productivity.
[외부 지식베이스 참조 기능][External Knowledge Base Reference Function]
도 4는 본 발명에 의한 규칙언어 처리시스템(200)의 원격지 추론 엔진 연동을 통한 외부 웹 지식 참조 개념을 도시한 개략도이고, 도 5는 본 발명에 의한 규칙 언어 처리 시스템의 원격 바인딩 수행 절차를 도시한 도면이며, 도 6은 본 발명에 의한 원격 추론 엔진과의 통신을 통한 원격 바인딩 실행 구조를 도시한 도면이다.4 is a schematic diagram illustrating an external web knowledge reference concept through a remote inference engine interworking of the rule
본 발명에 의한 규칙언어 처리시스템(200)은 외부 추론 엔진(410)과 정형화된 방식으로 통신함으로써 외부 지식베이스의 내용을 참조할 수 있는 기능을 포함한다. 그 처리 구조는 도 4에 보인 바와 같이, 규칙베이스(106)와 규칙언어 처리시스템(200), 원격 추론엔진들(410)로 이루어지고, 규칙언어 처리시스템(200)은 내부 작업 메모리(404)와 연결되는 내부 바인더(403)와, 원격 추론 엔진들(410)과 연결되는 원격 바인더(405)를 구비하고 있다. 그리고 원격 바인더(405)는 원격 추론 엔진을 참조하기 위하여 원격 엔진 참조 URI 지도 테이블(420)을 이용한다.The rule
추론 작업의 한 과정인 바인딩 작업은 사실과 규칙의 술어를 비교하여 해당 술어를 참으로 만드는 상수들을 추출하는 작업으로서, 추론 기능의 핵심 작업 중 하나이다. Binding, a process of inference, is a task that compares facts and predicates of rules and extracts constants that make the predicate true.
본 발명에 의한 규칙언어 처리시스템(200)은 개방된 웹 환경에 분산되어 존 재하며 동적으로 변화하는 지식을 대상으로 추론 기능을 수행해야 하므로, 기존의 규칙 엔진과는 달리 추가적인 바인딩 기능을 제공한다.The rule
기존의 규칙 엔진 및 추론 기법들은 내부 작업 메모리(404)에 모든 지식을 로딩한 다음, 이 지식을 바탕으로 추론 작업을 수행한다. 즉, 추론 대상 지식은 모두 내부 작업 메모리(404)에 존재해야 한다는 전제 조건을 지닌다.Existing rule engines and inference techniques load all knowledge into the
본 발명에 의한 규칙언어 처리시스템(200)은 원격 바인더(405)를 통해 외부 지식을 참조하여 바인딩 작업을 수행할 수 있다. 이때, 원격 바인더(405)가 호출되는 절차는 도 5에 도시된 바와 같다.The rule
도 5를 참조하면, 단계 501은 기존의 추론 엔진과 동일하게 내부 작업 메모리(404)를 대상으로 내부 바인딩 작업을 수행하는 단계이다. 단계 502는 당해 추론 단계에 있어 원격 바인더(405)를 호출할 지를 결정하는 단계이다. 원격 바인더(405)의 호출 여부 결정은 다음 몇 가지 예와 같이 다양하게 실시될 수 있다. Referring to FIG. 5, in operation 501, an internal binding operation is performed on an
첫째, 내부 바인더(403)를 통해 바인딩한 결과 바인딩 대상 술어에 연결되는 상수를 전혀 찾지 못했을 때 원격 바인더(405)를 호출한다.First, when a result of binding through the
둘째, 내부 바인더(403)를 통해 바인딩한 결과에 상관없이 항상 원격 바인더(405)를 호출한다.Second, the
셋째, 사전 설정된 시간 간격에 따라 원격 바인더(405)를 주기적으로 호출한다.Third, the
단계 502 및 503의 판단 결과에 따라 원격 바인더(405)의 호출이 결정되면, 단계 504가 수행된다. 단계 504에서 원격 바인더(405)가 외부 웹 지식을 참조하는 방식은 외부 웹 지식의 형태 및 지식 제공 방식에 따라 다양하게 실시될 수 있다. 이어 단계 505에서 추론 작업을 계속 진행한다.If the call of the
도 4는 원격지에 존재하는 추론 엔진들(410)과의 연동을 통해 원격 바인딩 기능을 수행하는 일실시예이다. 먼저, 본 발명에 의한 규칙 언어를 이용하면 규칙을 구성하는 각 술어는 URI로 지칭된다. 원격 엔진 참조 URI 지도(420)는 각 술어 별로 바인딩될 수 있는 지식을 제공하는 원격 추론 엔진(410)이 어디 있는지에 대한 정보를 포함하고 있는 테이블이다. 원격 바인더(405)는 바인딩하고자 하는 술어를 키(Key)로 하여 URI 지도 테이블(420)을 검색한 다음 원격 추론 엔진의 URI를 찾아 바인딩을 시도한다.4 illustrates an embodiment of performing a remote binding function through interworking with inference engines 410 existing in a remote location. First, using the rule language according to the present invention, each predicate constituting a rule is referred to as a URI. The remote engine
도 6은 도 4에 표현한 외부 추론 엔진 연동 기능을 네트워크 환경 상의 모습으로 다시 도시한 것이다.FIG. 6 illustrates the external inference engine interworking function represented in FIG. 4 again in a network environment.
도 6을 참조하면, 웹상의 각 사이트는 본 발명에 따른 추론엔진과 지식베이스를 구비하여 추론 엔진간에 통신을 통해 원격 바인딩을 수행한다. 즉, 제1 사이트(610)는 규칙베이스(106)와 추론엔진(612)을 구비하고 있고, 제2 사이트(620)는 온톨로지(102)와 온톨로지 규칙베이스(104), 추론엔진(622)을 구비하고 있으며, 제3 사이트(630)와 제4 사이트(640)도 동일하게 온톨로지(102)와 온톨로지 규칙베이스(104), 추론엔진(632,642)을 구비하고 있다. 그리고 추론엔진(612)은 통신을 통해 다른 원격 추론엔진(622,632,642)과 바인딩을 수행한다. Referring to FIG. 6, each site on the web includes an inference engine and a knowledge base according to the present invention to perform remote binding through communication between the inference engines. That is, the
[자바 객체 연동 기능][Java Object Linkage Function]
본 발명에 의한 규칙언어 처리시스템(200)은 외부 자바 객체와 연동할 수 있는 기능을 제공한다. 외부 객체 연동 기능은 외부 환경의 변화에 따라 일련의 판단 과정을 수행한 다음, 외부 환경에 대해 어떤 효과를 발생시키는 작용을 하기 위해 필수적인 기능이다. The rule
예를 들어, 집안의 전기 상태를 살피고 전기 차단 및 연결 기능을 수행할 수 있는 자바 객체가 있는 경우, 본 발명에 의한 규칙 언어로 집안 전기 운영을 위한 규칙베이스를 작성하여 집안의 전기 상황에 따른 지능적인 전기 제어 작업을 수행할 수 있다. 다음 표 23의 규칙 예는 집안의 전기 사용량이 200W 이상 되었을 경우, 사용자에게 그 사실을 경보음으로 알리도록 하는 규칙의 예이다.For example, if there is a Java object that can check the electrical state of the house and perform the electrical cut-off and connection function, the rule language for operating the house electricity in the rule language according to the present invention to create a intelligence based on the electrical situation of the house Electrical control work can be performed. The following rule example of Table 23 is an example of a rule to notify the user with an alarm sound when the household's electricity usage is over 200W.
이 예에 제시된 규칙의 조건부와 결론부에서는 각각 하나씩의 자바 객체 메쏘드가 호출되고 있다. 호출되는 자바 메쏘드를 기술하는 구문은 본 발명에 의한 규칙언어 처리시스템(200)에서 설정해 놓은 URI 구조에 의한다. 자바 객체 호출을 의미하는 URI의 각 구성 요소가 나타내는 정보는 다음 표 24와 같다.In the conditional section and the conclusion section of the rule presented in this example, one Java object method is called. The syntax describing the Java method to be called is based on the URI structure set in the rule
상기 표 24에 제시된 대로 프래그먼트 아이디로 "Class"를 사용하면 해당 자바 클래스 타입을 의미한다. 예를 들어, 규칙의 조건부에서 java://home.com/ElectricityGage#Class(?x) 라는 술어를 썼다면, 이 술어의 의미는 변수 ?x에 home.com.ElectricityGage 클래스 타입으로 된 자바 객체들을 바인딩 하라는 의미가 된다.If "Class" is used as the fragment ID as shown in Table 24 above, it means the Java class type. For example, if you used the predicate java: //home.com/ElectricityGage#Class (? X) in the conditional part of the rule, the meaning of this predicate is that the Java objects of class home.com.ElectricityGage are typed in the variable? X. It means to bind.
[자바 객체 생성 기능][Java object creation function]
상기 기술한 자바 클래스 타입 참조 기능은 조건부에 존재할 때와 결론부에 존재할 때 그 의미가 다르게 해석된다. Java://home.com/ElectricityGage(?x) 가 조건부에 기술되면 내부 작업 메모리(404)에 존재하는 자바 객체들 중 home.com.ElectricityGage 클래스 타입인 객체들을 ?x에 바인딩하라는 의미가 된다. 반면, 동일한 술어가 결론부에 기술되면 home.com.ElectricityGage 클래스 타입으로 된 객체를 하나 새로 생성하여 변수 ?x에 바인딩하라는 의미가 된다.The above-described Java class type reference functions are interpreted differently when they exist in the conditional part and when they exist in the conclusion part. When Java: //home.com/ElectricityGage (? X) is described in the conditional state, it means that objects of the home.com.ElectricityGage class type among Java objects existing in the
기존의 규칙 엔진들은 새로운 객체의 생성 기능이 아예 없거나, 별도의 객체 생성 함수를 통해 객체를 생성하도록 하고 있으나, 본 발명에 의한 규칙언어 처리시스템(200)은 지식의 의미에 따라 내부적으로 객체의 생성 및 참조를 구분하여 처리하도록 하고 있다. 이는 개발자의 지식 표현 노력을 덜어주고, 지식 표현 결과를 자연스럽게 하는 효과를 가져온다.Conventional rule engines do not have a function of creating a new object at all, or create an object through a separate object creation function, but the rule
이상에서 설명한 바와 같이, 본 발명에 의한 규칙 언어와 규칙 언어 처리 시스템은 확장된 지식 표현 능력과 웹에 분산된 지식베이스를 대상으로 하여 효율적인 규칙 기반 처리를 가능하게 함으로써, 분산된 웹 온톨로지 및 규칙베이스들을 대상으로 한 지식 처리를 통해 지능적인 서비스를 제공할 수 있고, 이를 위한 응용 개발의 생산성 및 개발된 응용의 효율성을 크게 향상시킬 수 있다. As described above, the rule language and rule language processing system according to the present invention enables efficient rule-based processing for an extended knowledge expression capability and a knowledge base distributed on the web, thereby enabling distributed web ontology and rule base. It can provide intelligent services through the processing of knowledge, which can greatly improve the productivity of application development and the efficiency of developed applications.
또한, 본 발명은 폭넓은 표현력, 웹 친화성, 자바 객체 연동 기능을 통해 보다 폭넓은 지식을 표현할 수 있고, 외부 시스템과 자연스럽게 연동되는 실용적인 지식 처리 시스템을 용이하게 구축할 수 있다.In addition, the present invention can express a wider range of knowledge through a wide range of expressive power, web affinity, and a Java object interworking function, and can easily construct a practical knowledge processing system that naturally interworks with an external system.
또한, 본 발명은 URI를 바탕으로 외부 환경과 연동할 수 있는 확장 기능을 포함하고 있어, 추론의 결과로 외부 시스템을 조작해야 하는 경우 또는 외부 환경 정보를 읽어들여 일련의 추론을 수행하는 경우 다양한 기능 확장을 꾀할 수 있다.
In addition, the present invention includes an extension function capable of interworking with the external environment based on the URI, various functions when the external system needs to be operated as a result of the inference or when the external environment information is read and a series of inferences are performed. Can be expanded.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the present invention without departing from the spirit and scope of the invention described in the claims below. I can understand that you can.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20030095706A KR100558331B1 (en) | 2003-12-23 | 2003-12-23 | Rule language processing system and method for describing web interlocking knowledge |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20030095706A KR100558331B1 (en) | 2003-12-23 | 2003-12-23 | Rule language processing system and method for describing web interlocking knowledge |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050064347A KR20050064347A (en) | 2005-06-29 |
KR100558331B1 true KR100558331B1 (en) | 2006-03-10 |
Family
ID=37255959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20030095706A KR100558331B1 (en) | 2003-12-23 | 2003-12-23 | Rule language processing system and method for describing web interlocking knowledge |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100558331B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008026794A1 (en) * | 2006-08-28 | 2008-03-06 | Korea Institute Of Science & Technology Information | System for providing service of knowledge extension and inference based on dbms, and method for the same |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100823289B1 (en) * | 2006-08-28 | 2008-04-17 | 한국과학기술정보연구원 | Apparatus and method for managing outcomes based on URI |
KR101289127B1 (en) * | 2006-11-14 | 2013-07-23 | 아주대학교산학협력단 | Knowledge managing system |
KR100902650B1 (en) * | 2008-01-04 | 2009-06-15 | 숭실대학교산학협력단 | Hybrid reasoning system based on ontology and method of the same |
KR100918367B1 (en) * | 2008-02-20 | 2009-09-22 | 아주대학교산학협력단 | Apparatus and method of context inference for ubiquitous context recognition |
KR101008691B1 (en) * | 2008-12-15 | 2011-01-19 | 한국과학기술정보연구원 | System and Method for Hybrid Rete Reasoning based on In-Memory and DBMS |
KR101358415B1 (en) * | 2012-06-19 | 2014-02-05 | 고려대학교 산학협력단 | Integrating geographic information offering system and method for the same |
KR101686919B1 (en) * | 2016-01-07 | 2016-12-16 | 주식회사 엑셈 | Method and apparatus for managing inference engine based on big data |
-
2003
- 2003-12-23 KR KR20030095706A patent/KR100558331B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008026794A1 (en) * | 2006-08-28 | 2008-03-06 | Korea Institute Of Science & Technology Information | System for providing service of knowledge extension and inference based on dbms, and method for the same |
US8037008B2 (en) | 2006-08-28 | 2011-10-11 | Korea Institute Of Science & Technology Information | DBMS-based knowledge extension and inference service method recorded on computer-readable medium |
Also Published As
Publication number | Publication date |
---|---|
KR20050064347A (en) | 2005-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Horrocks et al. | The ontology inference layer OIL | |
Angele et al. | Ontologies in F-logic | |
Sycara et al. | Larks: Dynamic matchmaking among heterogeneous software agents in cyberspace | |
Taye | Understanding semantic web and ontologies: Theory and applications | |
Russell et al. | A practical approach to multiple default inheritance for unification-based lexicons | |
Battle et al. | Semantic web services language (SWSL) | |
KR100558331B1 (en) | Rule language processing system and method for describing web interlocking knowledge | |
Khandelwal et al. | Linked rules: Principles for rule reuse on the web | |
Laera et al. | Sweetprolog: A system to integrate ontologies and rules | |
Biletskiy et al. | Identification and resolution of conflicts during ontological integration using rules | |
Kontopoulos et al. | Deploying defeasible logic rule bases for the semantic web | |
Bassiliades et al. | R-DEVICE: an object-oriented knowledge base for RDF metadata | |
Schenk et al. | Networked rdf graphs | |
Lee et al. | Ontology management for large-scale e-commerce applications | |
Bassiliades et al. | A visual environment for developing defeasible rule bases for the semantic web | |
Janhunen et al. | Meta programming with answer sets for smart spaces | |
Meditskos et al. | Towards an Object-Oriented Reasoning System for OWL. | |
Carloni et al. | Introducing reasoning into an industrial knowledge management tool | |
Ledvinka et al. | Formalizing object-ontological mapping using F-logic | |
Wang | Valid Time RDF | |
Peer | A Logic Programming Approach To RDF Document And Query Transformation. | |
Ma et al. | Knowledge representation and reasoning in the Semantic Web | |
Stojanovic et al. | Searching for the Knowledge in the Semantic Web. | |
Brown et al. | Fine-grained filtering of data providing Web Services with XACML | |
Ledvinka | Leveraging Semantic Web Technologies in Domain-specific Information Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130205 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140123 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |