KR101027497B1 - Ubiquitous service system and data process method therefor - Google Patents

Ubiquitous service system and data process method therefor Download PDF

Info

Publication number
KR101027497B1
KR101027497B1 KR1020080135413A KR20080135413A KR101027497B1 KR 101027497 B1 KR101027497 B1 KR 101027497B1 KR 1020080135413 A KR1020080135413 A KR 1020080135413A KR 20080135413 A KR20080135413 A KR 20080135413A KR 101027497 B1 KR101027497 B1 KR 101027497B1
Authority
KR
South Korea
Prior art keywords
information
data
node
service
triple
Prior art date
Application number
KR1020080135413A
Other languages
Korean (ko)
Other versions
KR20100077471A (en
Inventor
송은혜
오원석
Original Assignee
(주)탑쿼드란트코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)탑쿼드란트코리아 filed Critical (주)탑쿼드란트코리아
Priority to KR1020080135413A priority Critical patent/KR101027497B1/en
Publication of KR20100077471A publication Critical patent/KR20100077471A/en
Application granted granted Critical
Publication of KR101027497B1 publication Critical patent/KR101027497B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

본 발명에 따르는 유비쿼터스 서비스 시스템은, 다양한 상태를 센싱하며, 센싱결과에 따른 이벤트 정보를 생성하는 센서가 다수 구비되는 센서 그룹; 다양한 동작을 이행하며, 동작상태에 따른 이벤트 정보를 생성하며, 외부로부터 제어명령이 수신되면 그에 따른 동작을 이행하는 디바이스가 다수 구비되는 디바이스 그룹; 외부로부터 제어명령이 수신되면 그에 따른 유비쿼터스 서비스를 이행하는 서비스 모듈이 다수 구비되는 유비쿼터스 서비스 그룹; 상기 센서 그룹의 다수의 센서 및 상기 디바이스 그룹의 다수의 디바이스와의 인터페이스를 담당하는 인터페이스 장치; 상황인식을 위한 온톨로지를 구비하며, 상기 이벤트 정보를 나타내는 하나 이상의 인스턴스를 저장하는 온톨로지 레파지토리 장치; 상기 인터페이스 장치를 통해 상기 이벤트 정보를 수신받아 로우레벨의 상황인식을 이행하고, 로우레벨 상황인식결과와 상기 이벤트 정보를 조합하여 상기 온톨로지 스키마에 부합되는 하나 이상의 인스턴스를 생성하고, 상기 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치에 저장하고, 상기 상황인식 정보의 처리를 외부로 요청하며, 외부로부터 어느 하나 이상의 서비스 모듈 또는 어느 하나 이상의 디바이스에 대한 제어명령이 수신되면, 상기 제어명령을 해당 서비스 모듈 또는 해당 디바이스로 전송하는 유비쿼터스 서비스 지원 디바이스 협업 시스템; 상기 상황인식 정보의 처리요청에 따라, 상기 상황인식 정보의 처리요청에 대응되는 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 저장소로부터 독출하고, 상기 독출된 하나 이상의 인스턴스를 미 리 정해둔 지식 베이스와 비교하여 하이레벨 상황인지를 이행하고, 상기 하이레벨 상황인지결과에 대응되는 하나 이상의 서비스를 결정하고, 상기 결정된 하나 이상의 서비스를 제공하기 위한 하나 이상의 서비스 모듈 또는 하나 이상의 디바이스에 대한 제어명령을 생성하여 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템으로 제공하는 상황정보 기반 지능형 서비스 연계 및 운영 시스템;를 포함한다. The ubiquitous service system according to the present invention includes: a sensor group sensing a variety of states and including a plurality of sensors generating event information according to a sensing result; A device group including a plurality of devices configured to perform various operations, generate event information according to an operation state, and perform an operation according to a control command received from the outside; A ubiquitous service group provided with a plurality of service modules for implementing a ubiquitous service when a control command is received from the outside; An interface device for interfacing with a plurality of sensors of the sensor group and a plurality of devices of the device group; An ontology repository device having an ontology for situation recognition and storing one or more instances representing the event information; Receiving the event information through the interface device to implement a low-level situation recognition, combines the low-level situation recognition result and the event information to generate one or more instances meeting the ontology schema, and the one or more instances The control command is stored in the ontology repository device, requests the processing of the situation recognition information to the outside, and when a control command for any one or more service modules or any one or more devices is received from the outside, the control command is transmitted to the service module or the corresponding device. A ubiquitous service support device collaborative system to transmit to a server; According to the request for processing the context awareness information, at least one instance corresponding to the request for processing the context awareness information is read from the ontology repository repository, and the at least one read instance is compared with a predetermined knowledge base in advance. The ubiquitous service is supported by performing a situation awareness, determining one or more services corresponding to the high level situation awareness result, and generating a control command for one or more service modules or one or more devices for providing the determined one or more services. It includes; context information-based intelligent service connection and operation system to provide a device collaboration system.

유비쿼터스 서비스 시스템, 온톨로지 레파지토리 저장소 Ubiquitous Service System, Ontology Repository Repository

Description

유비쿼터스 서비스 시스템 및 그에 따른 데이터 처리 방법{UBIQUITOUS SERVICE SYSTEM AND DATA PROCESS METHOD THEREFOR}Ubiquitous service system and data processing method accordingly {UBIQUITOUS SERVICE SYSTEM AND DATA PROCESS METHOD THEREFOR}

본 발명은 유비쿼터스 서비스 시스템에 관한 것으로, 더욱 상세하게는 다수의 다양한 개체로부터의 데이터를 수집하여 상황을 인식하고, 상기 인식된 상황에 적절한 유비쿼터스 서비스를 결정하여 제공하는 유비쿼터스 서비스 시스템 및 그에 따른 데이터 처리 방법에 관한 것이다. The present invention relates to a ubiquitous service system. More particularly, the present invention relates to a ubiquitous service system that collects data from a plurality of various entities, recognizes a situation, and determines and provides a ubiquitous service suitable for the recognized situation. It is about a method.

최근 대두되고 있는 U-CITY는 도로, 교량, 학교, 병원 등 도시기반시설에 첨단 정보통신기술을 융합하여 유비쿼터스 기반 시설을 구축하여 교통, 환경, 복지 등 각종 유비쿼터스 서비스를 언제 어디서나 제공하는 도시이다. U-CITY, which is emerging recently, is a city that provides various ubiquitous services such as transportation, environment, and welfare anytime and anywhere by building ubiquitous infrastructure by fusing cutting-edge information and communication technologies to urban infrastructures such as roads, bridges, schools, and hospitals.

상기 유비쿼터스 서비스를 위한 유비쿼터스 네트워크는 다양한 개체들의 연결 속에서 언제, 어디서, 어떤 단말기로든 공간을 연결해주는 기반 구조이다. The ubiquitous network for the ubiquitous service is an infrastructure that connects a space to any terminal anytime, anywhere, in the connection of various entities.

상기 유비쿼터스 네트워크에는 공간, 사물, 사람들간의 연결 체계 속에 사용자가 추구하는 기능을 실현하기 위한 다양한 매체로부터의 데이터들이 공간-사물-사람 사이에 실시간으로 흘러다니며, 상기 유비쿼터스 네트워크에 존재하는 데이터로부터 사용자에게 원하는 서비스를 제공하기 위해서는 데이터 처리 및 관리가 요 구된다. In the ubiquitous network, data from various media for realizing a function pursued by a user in a connection system between space, objects, and people flows in real time between the space, the object, and the person, and from the data existing in the ubiquitous network to the user. Data processing and management are required to provide the desired service.

상기 유비쿼터스 네트워크에 연결되는 개체의 수가 다수임을 물론이며, 상기 다수의 개체로부터의 데이터 역시 매우 방대하다.Of course, the number of objects connected to the ubiquitous network is large, and the data from the plurality of objects is also very large.

이에 상기 다수의 개체로부터의 데이터를 수집하여 상황을 인식하고, 인식된 상황에 적절한 유비쿼터스 서비스를 제공할 수 있는 기술의 개발이 절실하게 요망되었다. Accordingly, it is urgently needed to develop a technology that can collect data from the plurality of entities to recognize a situation and provide a ubiquitous service appropriate to the recognized situation.

본 발명은 다수의 다양한 개체로부터의 데이터를 수집하여 상황을 인식하고, 상기 인식된 상황에 적절한 유비쿼터스 서비스를 결정하여 제공하는 유비쿼터스 서비스 시스템 및 그에 따른 데이터 처리 방법을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION An object of the present invention is to provide a ubiquitous service system and a data processing method thereof, which collect data from a plurality of various entities to recognize a situation and determine and provide a ubiquitous service suitable for the recognized situation.

상기한 목적을 달성하기 위한 본 발명의 유비쿼터스 네트워크 시스템은, 다양한 상태를 센싱하며, 센싱결과에 따른 이벤트 정보를 생성하는 센서가 다수 구비되는 센서 그룹; 다양한 동작을 이행하며, 동작상태에 따른 이벤트 정보를 생성하며, 외부로부터 제어명령이 수신되면 그에 따른 동작을 이행하는 디바이스가 다수 구비되는 디바이스 그룹; 외부로부터 제어명령이 수신되면 그에 따른 유비쿼터스 서비스를 이행하는 서비스 모듈이 다수 구비되는 유비쿼터스 서비스 그룹; 상기 센서 그룹의 다수의 센서 및 상기 디바이스 그룹의 다수의 디바이스와의 인터페이스를 담당하는 인터페이스 장치; 상황인식을 위한 온톨로지를 구비하며, 상기 이벤트 정보를 나타내는 하나 이상의 인스턴스를 저장하는 온톨로지 레파지토리 장치; 상기 인터페이스 장치를 통해 상기 이벤트 정보를 수신받아 로우레벨의 상황인식을 이행하고, 로우레벨 상황인식결과와 상기 이벤트 정보를 조합하여 상기 온톨로지 스키마에 부합되는 하나 이상의 인스턴스를 생성하고, 상기 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치에 저장하고, 상기 상황인식 정보의 처리를 외부로 요청하며, 외부로부터 어느 하나 이상의 서비스 모듈 또는 어느 하나 이상의 디 바이스에 대한 제어명령이 수신되면, 상기 제어명령을 해당 서비스 모듈 또는 해당 디바이스로 전송하는 유비쿼터스 서비스 지원 디바이스 협업 시스템; 상기 상황인식 정보의 처리요청에 따라, 상기 상황인식 정보의 처리요청에 대응되는 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 저장소로부터 독출하고, 상기 독출된 하나 이상의 인스턴스를 미리 정해둔 지식 베이스와 비교하여 하이레벨 상황인지를 이행하고, 상기 하이레벨 상황인지결과에 대응되는 하나 이상의 서비스를 결정하고, 상기 결정된 하나 이상의 서비스를 제공하기 위한 하나 이상의 서비스 모듈 또는 하나 이상의 디바이스에 대한 제어명령을 생성하여 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템으로 제공하는 상황정보 기반 지능형 서비스 연계 및 운영 시스템;를 포함한다. The ubiquitous network system of the present invention for achieving the above object, the sensor group for sensing a variety of states, the sensor group is provided with a plurality of sensors for generating event information according to the sensing result; A device group including a plurality of devices configured to perform various operations, generate event information according to an operation state, and perform an operation according to a control command received from the outside; A ubiquitous service group provided with a plurality of service modules for implementing a ubiquitous service when a control command is received from the outside; An interface device for interfacing with a plurality of sensors of the sensor group and a plurality of devices of the device group; An ontology repository device having an ontology for situation recognition and storing one or more instances representing the event information; Receiving the event information through the interface device to implement a low-level situation recognition, combines the low-level situation recognition result and the event information to generate one or more instances meeting the ontology schema, and the one or more instances The control command is stored in the ontology repository device, requests the processing of the situation recognition information to the outside, and when a control command for any one or more service modules or any one or more devices is received from the outside, the control command is transmitted to the corresponding service module or the corresponding device. Ubiquitous service support device collaboration system for transmitting to the device; According to the request for processing the situation awareness information, at least one instance corresponding to the request for processing the situation awareness information is read from the ontology repository repository, and the at least one read instance is compared with a predetermined knowledge base to compare a high level situation. The ubiquitous service supporting device by performing a recognition, determining one or more services corresponding to the high level situation recognition result, and generating a control command for one or more service modules or one or more devices for providing the determined one or more services. It includes; context information-based intelligent service connection and operation system to provide a collaboration system.

상기한 본 발명은 유비쿼터스 네트워크 시스템의 다수의 다양한 개체로부터의 데이터를 수집하여 상황을 인식하고, 그에 대응되는 유비쿼터스 서비스를 제공할 수 있는 효과가 있다. As described above, the present invention collects data from a plurality of various entities of a ubiquitous network system, recognizes a situation, and provides a ubiquitous service corresponding thereto.

<유비쿼터스 서비스 시스템의 구조>Structure of Ubiquitous Service System

본 발명의 바람직한 실시예에 따른 유비쿼터스 서비스 시스템의 구조를 도 1을 참조하여 설명한다.A structure of a ubiquitous service system according to a preferred embodiment of the present invention will be described with reference to FIG. 1.

상기 유비쿼터스 네트워크 시스템은 크게 센서 그룹(A100)과 인터페이스 장치(A102)와 유비쿼터스 서비스 지원 디바이스 협업 시스템(A108)과 온톨로지 레파 지토리 장치(A116)와 유비쿼터스 서비스 버스 장치(A118)와 상황정보 기반 지능형 서비스 연계 및 운영 시스템(A120)과 디바이스 그룹(A132)과 유비쿼터스 서비스 그룹(A134)으로 나눌 수 있다. The ubiquitous network system is largely connected to a sensor group (A100), an interface device (A102), a ubiquitous service support device collaboration system (A108), an ontology repository device (A116), a ubiquitous service bus device (A118), and context information based intelligent service. And an operating system A120, a device group A132, and a ubiquitous service group A134.

상기 센서 그룹(A100)은 다수의 다양한 센서 노드로 구성되며, 각 센서 노드는 넓은 영역에 산재되어 설치된다. 상기 센서 노드로는 온도 센서, 움직임 센서, 가스 센서 등이 채용되어, 자신이 설치된 위치에서의 상황을 센싱하여 로우 데이터 형태의 이벤트 정보를 생성하고, 상기 이벤트 정보를 상기 인터페이스 장치(A102)의 유비쿼터스 서비스 플랫폼 기반 USN 연동 시스템(A104)을 통해 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템(A108)의 상황인식 협업 시스템(A110)으로 제공한다. The sensor group A100 is composed of a plurality of various sensor nodes, and each sensor node is interspersed in a wide area. As the sensor node, a temperature sensor, a motion sensor, a gas sensor, and the like are employed to sense a situation at a location where the sensor node is installed, to generate event information in the form of raw data, and to generate the event information in the ubiquitous form of the interface device A102. The service platform-based USN interworking system A104 provides the situation recognition collaboration system A110 of the ubiquitous service support device collaboration system A108.

상기 디바이스 그룹(A132)은 다양한 유비쿼터스 서비스를 제공하기 위한 사용자 인증장치, 휴대 단말장치, 촬상장치, 디스플레이 장치, 개폐장치, 에어 컨디셔너 등으로, 넓은 영역에 산재되어 설치되거나 사용자에 휴대된다. 상기 디바이스 그룹(A132)의 각 디바이스는 자신의 식별정보 또는 상태정보 등의 이벤트 정보를 상기 인터페이스 장치(A102)의 디바이스간 인터페이스장치(A106)를 통해 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템(A108)의 상황인식 협업 시스템(A110)으로 제공한다. 또한 상기 디바이스 그룹(A132)의 각 디바이스는 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템(A108)의 유비쿼터스 서비스 제공 시스템(A112)이 제공하는 제어명령에 따른 동작을 이행하여 다양한 유비쿼터스 서비스를 구현한다. The device group A132 is a user authentication device, a portable terminal device, an imaging device, a display device, a switchgear device, an air conditioner, etc. for providing various ubiquitous services, and is scattered in a wide area or carried by a user. Each device of the device group A132 transmits event information such as its own identification information or status information to the ubiquitous service supporting device collaboration system A108 through the inter-device interface A106 of the interface device A102. Provided by the recognition collaboration system (A110). In addition, each device of the device group A132 implements various ubiquitous services by performing an operation according to a control command provided by the ubiquitous service providing system A112 of the ubiquitous service supporting device collaboration system A108.

상기 유비쿼터스 서비스 그룹(A134)은 디바이스 그룹(A132)에 포함되는 다수 의 디바이스와 함께 다양한 형태의 유비쿼터스 서비스를 제공하다. 상기 유비쿼터스 서비스로는 보안 서비스, 미디어 제공 서비스, 쇼핑 서비스, 교육 서비스, 교통 서비스, 업무 지원 서비스 등이 될 수 있다. The ubiquitous service group A134 provides various types of ubiquitous services together with a plurality of devices included in the device group A132. The ubiquitous service may be a security service, a media providing service, a shopping service, an education service, a transportation service, a business support service, and the like.

상기 인터페이스 장치(A102)는 유비쿼터스 서비스 플랫폼 기반 USN 연동 시스템(A104)과 디바이스간 인터페이스부(A106)로 구성된다. The interface device A102 is composed of a ubiquitous service platform based USN interworking system A104 and an inter-device interface unit A106.

상기 유비쿼터스 서비스 플랫폼 기반 USN 연동 시스템(A104)은 상기 센서 그룹(A100)에 속하는 다수의 센서 노드들과의 통신을 이행하고, 상기 센서 노드들로부터 이벤트 정보를 수신받아 상황인식 협업 시스템(A110)에 제공한다.The ubiquitous service platform-based USN interworking system A104 performs communication with a plurality of sensor nodes belonging to the sensor group A100, receives event information from the sensor nodes, and transmits the event information to the situation recognition collaboration system A110. to provide.

상기 디바이스간 인터페이스 모듈(A106)은 상기 디바이스 그룹(A132)의 디바이스들과의 통신을 이행한다. The inter-device interface module A106 performs communication with the devices of the device group A132.

상기 유비쿼터스 서비스 지원 디바이스 협업 시스템(A108)은 상황인식 협업 시스템(A110), 유비쿼터스 서비스 제공 시스템(A112), 유비쿼터스 서비스 운영 플랫폼(A114)으로 구성된다. The ubiquitous service support device collaboration system A108 is composed of a context-aware collaboration system A110, a ubiquitous service providing system A112, and a ubiquitous service operating platform A114.

상기 상황인식 협업 시스템(A110)은 상기 유비쿼터스 서비스 플랫폼 기반 USN 연동 시스템(A102)을 통해 센서 그룹(A100)의 어느 하나 또는 그 이상의 센서가 제공하는 이벤트 정보를 수신받아 상기 이벤트 정보를 나타내는 다수의 인스턴스를 생성하여 온톨로지 레파지토리 장치(A116)에 저장함과 아울러 상황정보 처리 시스템(A130)으로 상기 상황정보 처리를 요청한다. 또한 상기 상황인식 협업 시스템(A110)은 디바이스간 인터페이스 모듈(A106)로부터 제공되는 디바이스 그룹(A132)의 어느 하나 또는 그 이상의 디바이스가 제공하는 이벤트 정보를 수신받 아 상기 이벤트 정보를 나타내는 다수의 인스턴스를 생성하여 온톨로지 레파지토리 장치(A116)에 저장함과 아울러 상황정보 처리 시스템(A130)으로 상기 상황정보 처리를 요청한다. The context aware collaboration system A110 receives event information provided by any one or more sensors of the sensor group A100 through the ubiquitous service platform-based USN interworking system A102 and indicates a plurality of instances representing the event information. Generates and stores in the ontology repository device A116 and requests the context information processing to the context information processing system A130. In addition, the context aware collaboration system A110 receives event information provided by any one or more devices in the device group A132 provided from the inter-device interface module A106 and receives a plurality of instances representing the event information. It generates and stores the ontology repository device A116 and requests the context information processing to the context information processing system A130.

상기 유비쿼터스 서비스 제공 시스템(A112)은 유비쿼터스 서비스 운영 시스템(A126)으로부터 제공되는 디바이스 또는 서비스 모듈 제어명령을 수신받아 디바이스 그룹(A132)에 속하는 하나 이상의 디바이스로 제어명령을 제공하거나, 유비쿼터스 서비스 그룹(A134)에 속하는 하나 이상의 유비쿼터스 서비스 모듈로 제어명령을 제공한다. The ubiquitous service providing system A112 receives a device or service module control command provided from the ubiquitous service operating system A126 and provides a control command to one or more devices belonging to the device group A132, or a ubiquitous service group A134. Provide control commands to one or more ubiquitous service modules belonging to

상기 유비쿼터스 서비스 운영 플랫폼(A114)은 유비쿼터스 서비스 운영을 위한 플랫폼을 제공한다. The ubiquitous service operating platform A114 provides a platform for ubiquitous service operation.

상기 유비쿼터스 서비스 버스(A118)는 본 발명에 따르는 유비쿼터스 서비스 시스템의 각부에 대한 통신 경로를 형성한다. The ubiquitous service bus A118 forms a communication path for each part of the ubiquitous service system according to the present invention.

상기 온톨로지 레파지토리 장치(A116)는 본 발명의 바람직한 실시예에 따라 상기 이벤트 정보로부터 생성해낸 인스턴스를 저장하며, 상기 인스턴스를 토대로 상황인지를 이행할 수 있게 하는 온톨로지 그룹을 다양한 환경에 따라 다수 저장하고, 이벤트 정보를 분류하기 위한 분류정보, 기본적인 상황인지를 위한 조건정보, 상황 추론을 위한 추론 정보, 추론 히스토리, 상황인지 참조정보 등을 저장한다. The ontology repository device (A116) stores an instance generated from the event information according to a preferred embodiment of the present invention, and stores a plurality of ontology groups according to various environments based on the instance, the situation can be implemented. Classification information for classifying event information, condition information for basic situation awareness, inference information for situation inference, inference history, context awareness reference information, and the like are stored.

상기 상황정보 기반 지능형 서비스 연계 및 운영 시스템(A120)은 유비쿼터스 서비스 저장소(A122), 유비쿼터스 서비스 인프라 관리 시스템(A124), 유비쿼터스 서비스 운영 시스템(A126), 유비쿼터스 서비스 보안부(A128), 상황정보 처리 시스 템(A130)을 구비한다. The context information-based intelligent service connection and operation system (A120) is a ubiquitous service storage (A122), ubiquitous service infrastructure management system (A124), ubiquitous service operating system (A126), ubiquitous service security unit (A128), situation information processing system A130 is provided.

상기 상황정보 처리 시스템(A130)은 상기 상황인식 협업 시스템(A110)의 상황정보 처리 요청 이벤트에 따라 온톨로지 레파지토리 저장소(A116)에서 처리 대상의 인스턴스들을 로드하여, 상기 인스턴스들이 지시하는 상황을 추론하고, 상기 추론 결과에 대응되는 유비쿼터스 서비스를 결정하여 유비쿼터스 서비스 운영 시스템(A126)에 유비쿼터스 서비스 제공명령을 제공한다. The contextual information processing system A130 loads instances of the object to be processed from the ontology repository storage A116 according to the contextual information processing request event of the contextual awareness collaboration system A110, infers a situation indicated by the instances, The ubiquitous service corresponding to the inference result is determined, and a ubiquitous service provision command is provided to the ubiquitous service operating system A126.

상기 유비쿼터스 서비스 운영 시스템(A126)은 상기 상황정보 처리 시스템(A130)으로부터의 유비쿼터스 서비스 제공명령에 따라 디바이스 그룹(A132)의 어느 하나 이상의 디바이스에 대한 제어명령 또는 유비쿼터스 서비스 그룹(A134)의 어느 하나 이상의 서비스 모듈에 대한 제어명령을 생성하여 유비쿼터스 서비스 제공 시스템(A112)으로 제공한다. The ubiquitous service operating system A126 may control the one or more devices of the device group A132 or any one or more of the ubiquitous service group A134 according to the ubiquitous service provision command from the context information processing system A130. A control command for the service module is generated and provided to the ubiquitous service providing system A112.

상기 유비쿼터스 서비스 보안부(A128)는 본 발명의 유비쿼터스 서비스의 제공에 따른 보안 서비스를 담당한다.The ubiquitous service security unit A128 is responsible for the security service according to the provision of the ubiquitous service of the present invention.

상기 유비쿼터스 서비스 인프라 관리 시스템(A124)은 유비쿼터스 서비스 저장소(A122)에 저장된 유비쿼터스 서비스 정보에 대한 관리를 담당한다. The ubiquitous service infrastructure management system A124 is in charge of managing ubiquitous service information stored in the ubiquitous service storage A122.

<상황인식 협업 시스템, 상황정보 처리 시스템에 대한 상세구성><Detailed composition of situation recognition collaboration system and situation information processing system>

본 발명의 바람직한 실시예에 따른 상황인식 협업 시스템(A110)과 상황정보 처리 시스템(A130)의 상세 구성을 도 2를 참조하여 설명한다. A detailed configuration of the contextual recognition collaboration system A110 and the contextual information processing system A130 according to an exemplary embodiment of the present invention will be described with reference to FIG. 2.

상기 상황인식 협업 시스템(A110)은 컨텍스트 프로파일러(context profiler)(A200) 및 인스턴스 생성기(instance generator)(A210)로 구성되고, The context aware collaboration system A110 is composed of a context profiler A200 and an instance generator A210.

상기 상황정보 처리 시스템(A130)은 컨텍스트 애널라이저(context analyzer)(A222) 및 컨텍스트 서비스 프로바이더(context service provider)(A236)로 구성되고, 온톨로지 레파지토리 장치(A116)는 온톨로지 레파지토리(ontology repository) 저장소(A218) 및 매니저(manager)(A220)로 구성되고, 상기 상황정보 처리 시스템(A130)은 로 구성된다. The contextual information processing system A130 is composed of a context analyzer A222 and a context service provider A236, and the ontology repository device A116 is an ontology repository repository. A218) and a manager (A220), and the situation information processing system (A130) is composed of.

<컨텍스트 프로파일러(전처리기)><Context Profiler (Preprocessor)>

상기 컨텍스트 프로파일러(A200)는 디바이스 또는 센서로부터 전달받은 이벤트 정보를 이벤트 정보의 종류에 따라 분류하여 기초적인 상황인지 이행하여, 기초적인 상황인지에 따른 상황정보 처리를 상기 상황정보 처리 시스템(A130)으로 요청하고, 상기 이벤트 정보를 상황인지 데이터로 전처리하여 인스턴스 생성기(A210)로 제공하며, 센서 및 디바이스 매니저(sensor/device configuration manager)(A202), 상황 모니터(situation monitor)(A204), 동작 매니저(activity manager)(A206), 상태 매니저(status manager)(A208)로 구성된다. The context profiler A200 classifies the event information received from the device or the sensor according to the type of event information and implements whether it is a basic situation, and performs context information processing according to whether it is a basic situation. Request, and preprocess the event information into context-aware data to provide to the instance generator (A210), sensor and device manager (sensor / device configuration manager) (A202), situation monitor (situation monitor) (A204), operation manager and an activity manager A206 and a status manager A208.

상기 센서 및 디바이스 매니저(A202)는 센서 및 디바이스의 카탈로그 정보를 관리함과 아울러 센서 및 디바이스로부터 스트림 형태로 제공되는 다수의 이벤트 정보를 분류하기 위한 필터정보를 설정한다. 상기 필터정보는 상기 이벤트 정보가 어느 센서 또는 디바이스로부터 어느 위치에서 언제 제공되는 것인지 등을 토대로 이벤트 정보를 분류할 수 있게 하는 조건 정보이다. The sensor and device manager A202 manages catalog information of sensors and devices, and sets filter information for classifying a plurality of event information provided in a stream form from the sensors and devices. The filter information is condition information for classifying event information based on when and from which sensor or device at what location.

상기 상황 모니터(A204)는 센서 및 디바이스로부터 스트림 형태로 제공되는 다수의 이벤트 정보를 상기 필터정보에 따라 분류하여 동작 매니저(A208)로 제공한 다. The situation monitor A204 classifies a plurality of event information provided in a stream form from a sensor and a device according to the filter information and provides the same to the operation manager A208.

상기 동작 매니저(A206)는 상기 필터정보에 따라 분류된 이벤트 정보로부터 기초적인 상황인지를 이행한다. 상기 기초적인 상황인지를 위해 이벤트 정보에 따른 상황을 결정하는 조건 정보가 제공될 수 있다. 좀 더 설명하면, 특정 위치정보와 RFID 태그 정보로 구성되는 이벤트 정보가 제공되면 이를 ENTER 상황으로 인지하고, 특정 위치정보와 온도센싱 정보로 구성되는 이벤트 정보가 제공되면 이를 해당 위치에서의 온도(TEMP)로 인지하는 것 등이 될 수 있다. The operation manager A206 shifts the basic situation from the event information classified according to the filter information. Condition information for determining a situation according to event information may be provided to determine whether the situation is basic. In more detail, when event information consisting of specific location information and RFID tag information is provided, it is recognized as an ENTER situation, and when event information consisting of specific location information and temperature sensing information is provided, the temperature (TEMP) at the location is provided. May be recognized as).

상기 상태 매니저(A208)는 상기 필터정보에 따라 분류한 이벤트 정보 및 상황인지 결정정보를 제공받아 상황인지 참조정보를 토대로 상황인지 데이터로 변환하고, 상기 상황인지 데이터를 미도시된 저장소에 임시저장하고, 미리 정해둔 조건이 충족되면 상기 임시저장한 상황인지 데이터를 인스턴스 생성기(A210)에 제공한다. The state manager A208 receives event information and situation determination information classified according to the filter information, converts the situation information into situation data based on situation or reference information, and temporarily stores the situation data in a storage not shown. If the predetermined condition is satisfied, the temporary generator provides the instance generator A210 whether the temporary storage condition is satisfied.

예를들어 설명하면, 상기 상태 매니저(A208)는 X,Y,Z 좌표형식의 값인 {234,532,214}와 {RFID 식별정보}로 구성되는 이벤트 정보와 INSIDE의 상황인지 결정정보로 제공받으면, 상기 이벤트 정보에 포함된 위치정보와 RFID 식별정보와 수신시각 및 상기 상황인지 결정정보를 토대로 INSIDE(홍길동, 2층복도, 2008:10:22:16:01:02}의 상황인지 데이터를 생성한다.For example, when the state manager A208 is provided with event information consisting of {234,532,214} and {RFID identification information} having values of X, Y, and Z coordinate formats, and whether the situation is INSIDE, the event information Based on the location information, the RFID identification information, the reception time and the situation determination information contained in the INSIDE (Hong Gil-dong, two-story corridor, 2008: 10: 22: 16: 01: 02) generates situation awareness data.

또한 상기 상태 매니저(A208)는 섭씨 20도의 온도 센싱 정보와 {234,332,414} 위치정보로 구성되는 이벤트 정보와 TEMP의 상황인지 결정정보를 수신받으면, TEMP{섭씨(20), LOCATION(402호)}의 상황인지 데이터를 생성한다. In addition, the state manager A208 receives the event information including the temperature sensing information of 20 degrees Celsius, the {234,332,414} location information, and the determination whether the situation of the TEMP, the TEMP {20 degrees Celsius, LOCATION (402)} Generate situational data.

상기 상황인지 참조정보는 X,Y,Z 좌표형식의 위치정보를 직관적인 위치정보로 맵핑한 맵핑 테이블, RFID 등의 휴대 단말기 식별정보를 사용자 식별정보로 맵핍한 맵핑 테이블 등으로 구성될 수 있다. The context-aware reference information may include a mapping table in which location information in X, Y, and Z coordinate formats is mapped into intuitive location information, and a mapping table in which portable terminal identification information such as RFID is mapped to user identification information.

또한 상기 미리 정해둔 조건은 소정 주기의 도래시마다 또는 임시저장 버퍼의 풀 등이 될 수 있다.  The predetermined condition may be a pool of temporary storage buffers or the like at each arrival of a predetermined period.

<인스턴스 생성기><Instance generator>

상기 인스턴스 생성기(A210)는 상황인지 데이터를 상황 모델 기반의 인스턴스로 가공하여 온톨로지 레파지토리 저장소(A116)에 저장하는 기능 담당하며, 인스턴스 빌더(instance builder)(A212), 컨텍스트 모델 매쳐(context model matcher)(A214), 인스턴스 매니저(instance manager)(A216)로 구성된다. The instance generator A210 is responsible for processing situational awareness data into an instance based on a situation model and storing it in an ontology repository repository A116, an instance builder A212, and a context model matcher. (A214), an instance manager (A216).

상기 컨텍스트 모델 매쳐(A214)는 기본적인 상황에 적합하게 구성한 도메인 및 상위 온톨로지 모델을 다양한 상황에 적용하기 위해 매칭시키는 역할을 담당한다. The context model matcher (A214) is responsible for matching the domain and higher ontology model configured for the basic situation to apply to various situations.

상기 인스턴스 빌더(A212)는 상기 상황인지 데이터를 하나 이상의 인스턴스로 가공한다. 상기 인스턴스는 주어+술어+목적어로 구성되는 트리플 형태를 가진다. The instance builder A212 processes the situation awareness data into one or more instances. The instance has a triple form consisting of subject + predicate + object.

예를들어, {"SEO"라는 사람이 "SSU"의 졸업생이다. }라는 정보는 {seo는 사람이다}의 의미를 가지는 제1인스턴스, 즉 For example, {"SEO" is a graduate of "SSU". } Is the first instance of {seo is a person}, that is,

"<http://www.owl-ontologies.com/u-City_Agent#seo>"<http://www.owl-ontologies.com/u-City_Agent# seo >

<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/1999/02/22-rdf-syntax-ns# type >

<http://www.owl-ontologies.com/u-City_Agent#Person>."와, <http://www.owl-ontologies.com/u-City_Agent# Person >. "

{seo는 졸업생이다}의 의미를 가지는 제2인스턴스, 즉 a second instance meaning {seo is a graduate},

<http://www.owl-ontologies.com/u-City_Agent#seo> <http://www.owl-ontologies.com/u-City_Agent# seo >

<http://www.owl-ontologies.com/u-City_Agent#title>"graduate student"<http://www.owl-ontologies.com/u-City_Agent# title >" graduate student "

<http://www.w3.org/2001/XMLSchema#string>.와, <http://www.w3.org/2001/XMLSchema# string >.

{seo는 ssu과 관련된다}의 의미를 가지는 제3인스턴스, 즉a third instance with the meaning of {seo is related to ssu}, i.e.

<http://www.owl-ontologies.com/u-City_Agent#seo><http://www.owl-ontologies.com/u-City_Agent# seo >

<http://www.owl-ontologies.com/u-City_Agent#affiliatedWith><http://www.owl-ontologies.com/u-City_Agent# affiliatedWith >

<http://www.owl-ontologies.com/u-City_Agent#SSU>.으로 가공될 수 있다. <http://www.owl-ontologies.com/u-City_Agent# SSU >.

즉, 상황인지 데이터는 주어+술어+목적어로 나뉘는 트리플 형식을 가지는 다수의 인스턴스로 가공된다. In other words, context-aware data is processed into multiple instances that have a triple format divided into subject + predicate + object.

특히, 상기 인스턴스 빌더(A212)는 상기 상황인지 데이터를 미리 정해진 컨텍스트 모델 스키마에 따라 가공한다. In particular, the instance builder A212 processes the situational awareness data according to a predetermined context model schema.

상기 인스턴스 매니저(A216)는 상기 인스턴스 빌더(A212)가 생성한 하나 이상의 인스턴스를 온톨로지 레파지토리(A218)에 저장한다. The instance manager A216 stores one or more instances generated by the instance builder A212 in an ontology repository A218.

<컨텍스트 애널라이저>Context analyzer

상기 컨텍스트 애널라이저(A222)는 동작 매니저(A206)가 제공하는 이벤트에 따라 하이-레벨 상황인지를 추론하고, 그 하이-레벨 상황인지 결과정보를 컨텍스트 서비스 프로바이더(A236)에 제공하며, 이벤트 트리거(event trigger)(A224), 컨텍스트 추론기(context reasoner)(A226), 컨텍스트 트랙커(context tracker)(A232), 컨텍스트 인식기(context recognizer)(A234)로 구성된다. The context analyzer A222 infers whether it is a high-level situation according to an event provided by the operation manager A206, and provides the high-level situation or result information to the context service provider A236. an event trigger (A224), a context reasoner (A226), a context tracker (A232), and a context recognizer (A234).

상기 이벤트 트리거(A224)는 컨텍스트 프로파일러(A200)로부터 제공되는 로우-레벨 상황인지 결과정보를 바탕으로 상황정보 처리에 대한 이벤트를 발생한다. The event trigger A224 generates an event for processing situation information based on the low-level situation recognition result information provided from the context profiler A200.

상기 컨텍스트 추론기(A226)는 DL 추론기(DISCRIPTION LOGIC RESONER}(A228)와 룰 추론기(rule reasoner)(A230)를 구비한다. 상기 DL 추론기(A228)는 온톨로지의 의미들을 읽어와서 해석하여 추론하는 것으로 처리 속도가 낮으나 복잡한 데이터에 대한 추론이 가능하고, 상기 룰 추론기(A230)는 미리 정해둔 정의에 따라 추론을 이행하는 것으로 처리 속도는 높으나 간소한 데이터에 대한 추론만이 가능하다. 이에 본 발명에서는 로우-레벨 상황인지 결과에 따라 미리 정해진 추론기를 선택적으로 구동하여, 복잡한 데이터에 대해서는 DL 추론을 이행하고 간소한 데이터에 대해서는 룰 추론을 이행하여 추론 결과의 신뢰도를 높이면서도 신속한 추론을 가능하게 한다. The context reasoner A226 includes a DL reasoner A228 and a rule reasoner A230. The DL reasoner A228 reads and interprets the meanings of ontology. By inferring, the processing speed is low but inferring complex data is possible, and the rule inferencing machine A230 performs inference according to a predetermined definition, and the processing speed is high, but only inference about simple data is possible. Accordingly, the present invention selectively drives a predetermined reasoner according to a low-level situational recognition result, performs DL reasoning on complex data, and rules reasoning on simple data, thereby increasing the reliability of the reasoning result and providing fast reasoning. Make it possible.

여기서, 상기 DL 추론기(A228)의 동작을 도 3을 참조하여 간략히 설명한다. 상기 DL 추론기(A228)는 DL 추론모듈(A300)과 지식 베이스(A302)로 구성된다. Here, the operation of the DL reasoner A228 will be briefly described with reference to FIG. 3. The DL reasoner A228 is composed of a DL reasoning module A300 and a knowledge base A302.

상기 지식 베이스(A302)는 T-박스(A304)와 A-박스(A306)로 구성된다. 상기 T-박스(A304)는 다수의 개별 주체들을 미리 정해둔 역할 구성자로 조합하여 새로운 의미를 부여하는 것이다. 상기 역할 구성자로는 유니버셜 롤(UNIVERTIOAL ROLE), 롤 인터섹션(ROLE INTERSECTION), 롤 유니언(ROLE UNION), 컴플리먼트, 인버스 롤, 롤 컴포지션, 트랜지티브 클로져, 리플렉시브 트랜지티브 클로져 등이 포함될 수 있다. 상기 T 박스(A304)에 구비되는 지식에 대한 예로는 "HAPPYMAN ≡ HUMAN(인 간) П MALE(남자) ПE MARRIED.DOCTOR(결혼한 의사) П〔≥5GASCHILD(5명 이상의 자식)〕ПA HASCHILE.PROFESSOR(자식이 교수)"이 있으며, 이는 인간, 남자, 결혼한 의사, 5명의 자식, 자식이 교수라는 다수의 개체가 만족되면 HAPPYMAN이라는 새로운 의미를 부여한다는 의미이다. The knowledge base A302 is composed of a T-box A304 and an A-box A306. The T-box A304 combines a plurality of individual subjects into predetermined role constructors to give a new meaning. The role configurator includes a universal roll, a roll intersection, a roll union, a complement, an inverse roll, a roll composition, a transitional closure, a reflective transitional closure, and the like. This may be included. Examples of the knowledge provided in the T box A304 are "HAPPYMAN ≡ HUMAN (human) П MALE (male) ПE MARRIED. DOCTOR (married doctor) П [≥ 5 GASCHILD (5 or more children)] ПA HASCHILE. PROFESSOR ", which means that humans, men, married doctors, five children, and a number of individuals, all of whom are professors, are given a new meaning of HAPPYMAN.

이러한 방식으로 다양한 다수의 개별 개체를 다양한 방식으로 조합하여 새로운 의미를 만드는 지식을 다수 만들고, 이를 지식 베이스(A302)의 T-박스(A304)에 등록한다. In this way, a number of different individual entities are combined in various ways to create a large number of knowledge making new meanings, which are registered in the T-box A304 of the knowledge base A302.

상기 A-박스(A306)는 특정 개체의 속성을 지정하기 위한 선언적 형식을 가지며, T 박스(A304)에서 표현된 컨셉과 롤을 기반을 실재하는 개별 주체들에 대한 하이레벨 상황인지결과를 선언적으로 표현하는 지식이 다수 구비된 것이다. The A-box A306 has a declarative form for specifying the properties of a specific entity, and declaratively shows high-level situational awareness results for individual subjects based on the concepts and roles expressed in the T-box A304. There is a lot of knowledge to express.

DL 추론 모듈(A300)은 어느 한 로우레벨 상황인지결과에 대한 추론이 요청되면, 그 로우레벨 상황인지결과에 대응되는 인스턴스들을 호출하고, 상기 인스턴스들을 상기 T-박스(A304)에 구비된 지식을 기반으로 조합하여 새로운 의미를 부여하고, 상기 A-박스(A306)에 구비된 지식을 기반으로 상기 새로운 의미가 부여된 개별 주체들이 표현하는 하이레벨 상황인지결과를 도출한다.When a reasoning about the result of which low level situation is requested, the DL inference module A300 calls instances corresponding to the result of the low level situation, and uses the knowledge provided in the T-box A304. Combining on the basis of the new meaning to give a new meaning, based on the knowledge provided in the A-box (A306) to derive a high-level situation recognition result expressed by the individual subjects given the new meaning.

상기 컨텍스트 트랙커(A232)는 상기 컨텍스트 추론기(A226)의 추론 히스토리를 토대로 추론을 트래킹한다. The context tracker A232 tracks the inference based on the inference history of the context inferor A226.

상기 컨텍스트 인식기(A234)는 상기 DL 추론기(A228) 또는 상기 룰 추론기(A230)가 추론한 하이레벨 상황인지결과를 컨텍스트 서비스 프로바이더(A236)의 서비스 매쳐(A238)로 제공한다. The context recognizer A234 provides a result of the high level situation inferred by the DL inferred A228 or the rule inferred A230 to the service matcher A238 of the context service provider A236.

<컨텍스트 서비스 프로바이더><Context service provider>

상기 컨텍스트 서비스 프로바이더(236)는 서비스 매쳐(238), 동기화부(240), 옵티마이저(242)로 구성된다. The context service provider 236 includes a service matcher 238, a synchronizer 240, and an optimizer 242.

상기 컨텍스트 서비스 프로바이더(236)는 상기 하이레벨 상황인지결과가 수신되면, 상기 하이레벨 상황인지결과에 대응되는 하나 이상의 서비스를 도출하고, 상기 동기화부(240)가 구비하는 서비스 제공상태정보 및 상기 옵티마이저(242)가 구비하는 서비스 최적화 정보를 토대로 상기 하나 이상의 서비스를 제공하기 위한 디바이스 또는 서비스 모듈 제어명령을 생성하여 유비쿼터스 서비스 제공 시스템(A112)로 제공한다. When the context service provider 236 receives the high level situation awareness result, the context service provider 236 derives one or more services corresponding to the high level situation awareness result, and the service providing state information provided by the synchronization unit 240 and the Based on the service optimization information provided by the optimizer 242, a device or service module control command for providing the one or more services is generated and provided to the ubiquitous service providing system A112.

상기 동기화부(240)는 상기 디바이스 또는 서비스 모듈의 서비스 제공상태정보를 동기화하여 하이레벨 상황인지결과 수신에 따른 서비스가 원활하게 제공될 수 있게 한다. The synchronization unit 240 synchronizes the service provision state information of the device or the service module so that the service according to the reception of the high level situation recognition result can be smoothly provided.

상기 옵티마이저(A242)는 상기 하이레벨 상황인지에 따른 최적 서비스를 정의하는 서비스 최적화 정보를 구비한다. The optimizer A242 includes service optimization information that defines an optimal service according to whether the high level situation exists.

<온톨로지 레파지토리 장치>Ontology Repository Device

상기 온톨로지 레파지토리 장치(116)는 온토로지 레파지토리 저장소(218)와 매니저(220)로 구성된다. The ontology repository device 116 is comprised of an ontology repository repository 218 and a manager 220.

상기 온톨로지 레파지토리 저장소(218)는 상황인지 온톨로지를 구비하며, 상기 이벤트 정보에 대응되게 생성된 다수의 인스턴스를 상기 상황인지 온톨로지에 등록한다. The ontology repository storage 218 has a context aware ontology, and registers a plurality of instances created corresponding to the event information in the context aware ontology.

상기 상황인지 온톨로지에 기록되는 인스턴스는 센서 또는 디바이스 등으로부터 얻은 원시 사실 및 원시 사실들간의 의미 관계로부터 얻어진 파생 사실인 일반 인스턴스와, 서술 논리(description logic)에 대한 의미 확장 및 개인적 및 지능적 상황을 나타내는 특정 인스턴스로 구성된다.Instances recorded in the context-aware ontology represent general instances, derived facts derived from semantic relations between primitive facts and primitive facts obtained from sensors or devices, and semantic extensions to description logic and personal and intelligent contexts. It consists of specific instances.

상기 상황인지 온톨로지는 도 4에 도시한 바와 같이 사람 온톨로지, 디바이스 온톨로지, 공간 온톨로지, 액션 온톨로지, 상황 온톨로지로 구성된다. 여기서, 상기 사람 온톨로지는 사람에 대한 특징을 정의하고, 그리고 디바이스 온톨로지는 각각의 디바이스가 가지는 특징을 정의하고, 공간 온톨로지는 공간이 가지는 특징을 정의하고, 상기 액션 온톨로지는 액션 이벤트를 통해 생성된 인스턴스를 포함하기 위한 기본적인 스키마를 정의하고, 상기 상황 온톨로지는 상황 인스턴스가 어떤 의미를 갖는지를 정의하기 위하여 공리 정의를 통해 의미 그룹으로 정의한다. 특히 상기 액션 이벤트에 대해서는 has who, has what, has event, haswhere, has action time을 이용하여 액션 이벤트로 인한 인스턴스로 인스턴스 영역에 생성한다.As shown in FIG. 4, the situation awareness ontology is composed of a human ontology, a device ontology, a space ontology, an action ontology, and a situation ontology. Here, the human ontology defines the characteristics of the person, and the device ontology defines the characteristics of each device, the spatial ontology defines the characteristics of the space, the action ontology is an instance created through the action event To define a basic schema to include, the context ontology is defined as a semantic group through axiom definition to define what the meaning of the situation instance. In particular, the action event is created as an instance due to the action event using has who, has what, has event, haswhere, and has action time.

상기 매니저(220)는 온톨로지 레파지토리 저장소(218)에 대한 관리를 담당하며, 상기 관리는 서버 관리, 데이터 관리, 모니터링 등이 포함된다. The manager 220 is in charge of managing the ontology repository repository 218, and the management includes server management, data management, monitoring, and the like.

<온톨로지 레파지토리 장치에 대한 상세 설명><Detailed Description of Ontology Repository Device>

이제, 상기한 바와 같이 구성되는 온톨로지 레파지토리 장치(118)에 대해 좀더 상세히 설명한다. Now, the ontology repository device 118 configured as described above will be described in more detail.

상기 온톨로지 레파지토리 장치(118)의 설명에 앞서, 이하 명세서상에서 사 용되는 용어를 다음과 같이 정의한다.Prior to the description of the ontology repository device 118, terms used in the following specification are defined as follows.

RDF(Resource Description Framework)는 웹상의 자원에 관한 정보를 나타내기 위한 언어로서, 객체("자원") 및 객체 사이의 관계를 표현하는 데이터 모델이며, 상기 RDF는 이 데이터 모델에 대한 간단한 의미론(semantics)을 제공하며, 기계가 처리할 수 있는 간단한 데이터 모델과 컴퓨터가 처리할 수 있는 간단한 신텍스(Syntax)를 제공한다.Resource Description Framework (RDF) is a language for representing information about resources on the Web. It is a data model that expresses objects ("resources") and relationships between objects, and RDF is a simple semantics for this data model. It provides a simple data model that can be processed by a machine and a simple syntax that can be processed by a computer.

또한 상기 RDF 트리플 데이터는 주어로 지칭되는 서브젝트(Subject), 술어로 지칭되는 프리디케이트(Predicate), 목적어로 지칭되는 오브젝트(Object)로 구성되며, 상기 서브젝트는 자원을 의미하며, 웹 페이지의 전체, 혹은 부분으로 URI로 표현되고, 상기 프리디케이트는 자원(주어)을 기술하기 위한 특정한 측면, 성질, 특징 관계를 표현하고, 상기 오브젝트는 속성값을 나타내거나 속성에 해당하는 자원을 나타낸다.In addition, the RDF triple data is composed of a subject referred to as a subject, a predicate referred to as a predicate, and an object referred to as an object. The subject refers to a resource. Or, expressed as a part of the URI, the predicate represents a specific aspect, property, characteristic relationship for describing the resource (main), the object represents an attribute value or a resource corresponding to the attribute.

그리고 OWL(Web Ontology Language)는 온톨로지의 공유와 출판을 위해 마련한 시맨틱 마크업 언어로 DAML+OIL을 기반으로 하고 있으며, 클래스와 속성에 다양한 논리 관계의 표현 능력을 제공하며, 속성이 가질 수 있는 값의 범위를 제안하거나 개수를 제한하는 어휘 제공한다. OWL (Web Ontology Language) is a semantic markup language designed for sharing and publishing ontology. It is based on DAML + OIL. It provides the ability to express various logical relationships to classes and properties. Propose a range of or provide a vocabulary limiting the number.

그리고 SWRL(Semantic Web Rules Language)는 온톨로지 및 웹 규칙 언어로서, 기존의 규칙언어와는 달리 OWL의 확장으로 정의된 규칙 언어이며, 상기 OWL의 확장이므로 OWL 문서에 SWRL 규칙 포함 가능한다. 또한 상기 SWRL은 RDF를 기반으로 하므로 두 개 이상의 항을 갖는 술어를 표현할 수 없다. The SWRL (Semantic Web Rules Language) is an ontology and web rule language. Unlike the existing rule language, SWRL is a rule language defined as an extension of OWL. Since the OWL is an extension of the OWL document, SWRL rules can be included in the OWL document. Also, since the SWRL is based on RDF, it cannot express a predicate having two or more terms.

그리고 SPARQL(SPARQL Protocol and RDF Query Language)는 시맨틱 질의 언어로서, RDF 데이터에 질의하기 위한 질의 언어이며, W3C Working draft이고, 기존 RDF 질의 언어(RDQL, RQL, seQL)와 유사한 형식이다. SPARQL (SPARQL Protocol and RDF Query Language) is a semantic query language, a query language for querying RDF data, a W3C working draft, and a format similar to existing RDF query languages (RDQL, RQL, and seQL).

<온톨로지 레파지토리 장치의 구성><Configuration of Ontology Repository Device>

이제 본 발명의 바람직한 실시예에 따른 온톨로지 레파지토리 장치(A116)의 구성을 도 5를 참조하여 설명한다. Now, the configuration of the ontology repository device A116 according to a preferred embodiment of the present invention will be described with reference to FIG. 5.

상기 온톨로지 레파지토리 장치(A116)는 레파지토리(100)와 클라이언트 API 모듈(120), 매니저(122), 레파지토리 서비스 관리 모듈(124)로 구성된다. The ontology repository device A116 includes a repository 100, a client API module 120, a manager 122, and a repository service management module 124.

상기 레파지토리(100)는 트리플 형식의 인스턴스(이하 설명의 편이상 트리플 데이터라 칭한다.)를 스토어(120)에 저장하며, 상기 저장된 트리플 데이터의 찾기 등의 쿼리 처리를 이행한다. The repository 100 stores an instance of a triple format (hereinafter, referred to as triple data above) in the store 120, and executes a query process such as finding the stored triple data.

상기 클라이언트 API 모듈(120)은 인스턴스 생성기(A210), 컨텍스트 애널라이저(A222)와 온톨로지 레파지토리 장치(A116)간의 인터페이스를 담당한다. The client API module 120 is responsible for an interface between the instance generator A210, the context analyzer A222, and the ontology repository device A116.

상기 매니저(122)는 본 발명의 온톨로지 레파지토리 장치(A116)의 각부를 전반적으로 제어한다. The manager 122 generally controls each part of the ontology repository device A116 of the present invention.

상기 레파지토리 서비스 관리 모듈(124)은 상기 레파지토리(100)에 구비된 레파지토리 서비스 모듈(104), 인덱스 서비스 모듈(106), 쿼리 프로세서(108), 컨셉추얼 모델 모듈(110)을 관리하며, 특히 상기 클라이언트 API 모듈(120)를 통해 제공되는 트리플 데이터의 등록, 찾기, 삭제 등의 작업요청을 스케줄링하고, 상기 스케줄에 따라 상기 서비스 모듈들로 작업을 요청한다. The repository service management module 124 manages the repository service module 104, the index service module 106, the query processor 108, and the conceptual model module 110 included in the repository 100. A task request for registering, finding, and deleting triple data provided through the client API module 120 is scheduled, and a task is requested to the service modules according to the schedule.

그리고 상기 레파지토리(100)는 여러 개의 스토어(120)를 구비하며, 각 스토어(102)는 레파지토리 서비스 모듈(Repository service moduale)(104)와 인덱스 서비스 모듈(Index Service Module)(106)과 쿼리 프로세서(Query Processor)(108)가 구비되며, 선택적으로 컨셉추얼 모델(Conceptual Model)(110)이 구비될 수 있다.The repository 100 includes a plurality of stores 120, each of which is a repository service module 104, an index service module 106, and a query processor. Query Processor 108 is provided, and optionally a Conceptual Model 110 may be provided.

상기 레파지토리 서비스 모듈(104)은 트리플 데이터에 대한 실제 데이터를 저장하며, 이를 위해 노드 ID 정보, 노드 데이터 정보, 노드 세그먼트 정보, 리소스 정보, 리도 로그 정보, 네임 스페이스(NAME SPACE) 정보를 구비한다. The repository service module 104 stores actual data for triple data and includes node ID information, node data information, node segment information, resource information, lido log information, and namespace name information.

상기한 노드 ID 정보, 노드 데이터 정보, 노드 세그먼트 정보, 리소스 정보, 리도 로그 정보, 네임 스페이스(NAME SPACE) 정보를 도 2를 참조하여 좀더 상세히 설명한다. The node ID information, node data information, node segment information, resource information, lido log information, and namespace name information will be described in more detail with reference to FIG.

상기 노드 ID 정보는 노드 ID 데이터를 세그먼트 단위로 저장한 것으로, 상기 노드 ID 데이터는 트리플 데이터를 구성하는 서브젝트(Subject) 노드의 ID, 프리디케이트(Predicate) 노드의 ID, 오브젝트(Object) 노드의 ID와 삭제여부를 나타내는 플래그로 구성된다. 상기한 노드 ID 데이터는 미리 정해둔 수만큼 모아져 세그먼트로 구성되고, 상기 세그먼트에는 세그먼트의 현재 개수를 나타내는 세그먼트 헤더가 부가된다. 상기한 세그먼트는 미리 정해둔 수만큼 모아져 파일로 구성되고, 상기 파일에는 마지막 트리플 ID와 삭제 개수, 세그먼트 당 개수, 크기로 구성되는 파일 헤더가 부가된다. 상기 트리플 ID는 상기 세그먼트내에 등록된 노드 ID를 찾아내기 위한 참조정보이며, 상기 마지막 트리플 ID만 기록하는 이유는 상기 노드 ID들에 대한 트리플 ID가 순차적으로 부여되므로, 마지막 트리플 ID만으로도 원하 는 트리플 ID를 가지는 노드 ID들을 검출해낼 수 있기 때문이다. The node ID information stores node ID data in units of segments. The node ID data includes ID of a subject node, ID of a predicate node, and ID of an object node. And a flag indicating whether to delete or not. The node ID data is collected by a predetermined number of segments, and the segment ID is added to the segment. The segment is collected by a predetermined number and consists of a file. The file includes a file header consisting of the last triple ID, the number of deletions, the number of segments, and the size. The triple ID is reference information for finding a node ID registered in the segment, and the reason for recording only the last triple ID is that triple IDs for the node IDs are sequentially assigned, so that only the last triple ID is desired. This is because the node IDs having can be detected.

상기 노드 데이터 정보는 노드 데이터를 세그먼트 단위로 저장한 것으로, 상기 노드 데이터는 트리플 데이터를 구성하는 서브젝트 노드의 데이터, 프리디케이트 노드의 데이터, 오브젝트 노드의 데이터와 타입정보로 구성된다. 상기 노드 데이터는 미리 정해둔 수만큼 모아 세그먼트로 구성되고, 상기 세그먼트에는 세그먼트의 현재 개수를 나타내는 세그먼트 헤더가 부가된다. 상기한 세그먼트는 미리 정해둔 수만큼 모아 파일로 구성되고, 상기 파일에는 마지막 노드 ID와 세그먼트 수 개수를 포함하는 파일 헤더가 부가된다. 상기 노드 ID는 상기 세그먼트내에 등록된 노드 데이터를 찾아내기 위한 참조정보이며, 상기 마지막 노드 ID만 기록하는 이유는 상기 노드 데이터에 대한 노드 ID가 순차적으로 부여되므로, 마지막 노드 ID만으로도 원하는 노드 데이터를 검출해낼 수 있기 때문이다. The node data information stores node data in segments. The node data includes data of a subject node constituting triple data, data of a predicate node, data of object nodes, and type information. The node data is composed of segments by collecting a predetermined number, and a segment header indicating the current number of segments is added to the segment. The segment is composed of a predetermined number of files, and a file header including the last node ID and the number of segments is added to the file. The node ID is reference information for finding node data registered in the segment, and the reason for recording only the last node ID is that node IDs for the node data are sequentially assigned, so that only the last node ID detects the desired node data. Because you can do it.

상기 노드 세그먼트 정보는 스토어(102)에 저장된 세그먼트들에 대한 위치정보를 파일 형태로 저장한 것이다. 상기 노드 세그먼트 정보 파일은 미리 정해둔 수의 세그먼트 위치정보들과 마지막 세그먼트의 아이디와 마지막 파일 위치로 구성되는 파일 헤더로 구성된다. The node segment information stores location information of segments stored in the store 102 in a file form. The node segment information file is composed of a predetermined number of segment position information, a file header including an ID of the last segment and a last file position.

상기 리소스 정보는 노드 데이터의 중복방지를 위해 중복되는 리소스를 관리하기 위한 것이다. 상기 리소스 정보는 B-Tree를 채용하여 키는 리소스의 내용으로, 값은 노드 아이디로 구성한다. The resource information is for managing duplicate resources in order to prevent duplication of node data. The resource information is the content of a key that is adopted by using a B-Tree, and the value is configured as a node ID.

상기 리두 로그 정보는 스토어(102)에 추가 또는 삭제 등의 변동이 일어나면, 그에 대한 변동 정보 로그를 별도로 저장하여 차후에 복원이 가능하도록 하는 백업 로직을 지원하기 위한 것이다. 상기 리두 로그 정보는 시작시각,종료시각, 추가된 처음 ID, 추가된 마지막 ID, 삭제된 ID들과 리두 로그 ID로 구성되며, 상기한 리두 로그 정보는 미리 정해둔 수만큼 모아 세그먼트로 구성되며, 상기 세그먼트에는 리두 로그 정보의 개수를 나타내는 세그먼트 헤더가 부가된다. 상기한 세그먼트는 미리 정해둔 수만큼 모아 리두 로그 파일로 구성되며, 상기 리두 로그 파일에는 세그먼트 당 개수와 마지막 ID로 구성되는 파일 헤더가 부가된다. The redo log information is to support the backup logic to store the change information log for the change in the store 102, such as addition or deletion, to be restored later. The redo log information includes a start time, an end time, an added first ID, an added last ID, deleted IDs, and a redo log ID. The redo log information includes a predetermined number of segments. A segment header indicating the number of redo log information is added to the segment. The segment is composed of a predetermined number of redo log files, and the redo log file is appended with a file header consisting of the number per segment and the last ID.

상기 네임 스페이스 파일은 미리 정해둔 수의 네임 스페이스 쌍으로 구성되며, 상기 네임 스페이스 쌍은 URL과 그 URL을 간소화시킨 프리픽스 데이터로 구성된다. 상기 네임 스페이스 파일에는 개수와 길이 정보로 구성되는 파일 헤더가 부가된다.The namespace file is composed of a predetermined number of namespace pairs, and the namespace pair is composed of a URL and prefix data that simplifies the URL. The namespace file is appended with a file header consisting of number and length information.

한편, 상기 인덱스 서비스 모듈(Index Service Module)(106)은 상기 스토어(102)에 저장된 트리플 데이터에 대한 인덱스 정보를 제공하여, 상기 트리플 데이터의 정확하고 빠른 찾기를 가능하게 한다.Meanwhile, the index service module 106 provides index information on triple data stored in the store 102, thereby enabling accurate and fast retrieval of the triple data.

상기 인덱스 서비스 모듈(106)은 서브젝트(Subject) 노드, 프리디케이트(Predicate) 노드, 오브젝트(Object) 노드 각각에 대해 인버스트 파일(Inversed File) 구조를 가지는 인덱스 데이터를 가진다. 즉, 상기 인덱스 데이터는 각 노드의 데이터를 키(KEY)로 각 노드의 ID들을 값(VALUE)으로 구성한 B-Ttree 인덱스 구조를 가진다. The index service module 106 has index data having an inverse file structure for each of a subject node, a predicate node, and an object node. That is, the index data has a B-Ttree index structure in which the IDs of the nodes are configured with the value VALUE as the key of the data of each node.

상기한 인덱스 정보는 도 7에 도시한 바와 같이 형태에 따라 B-Tree 인덱스 정보(A1), 오버플로우 인덱스 정보(A2), 템프럴리 인덱스 정보(A3)로 구성된다. As shown in FIG. 7, the index information includes B-Tree index information A1, overflow index information A2, and temporal index information A3.

상기 B-Tree 인덱스 정보(A1)는 실제로 인덱스를 구성하는 주 구조이고, 상기 오버플로우 인덱스 정보(A2)는 키에 대한 값인 트리플 아이디 리스트가 B-Tree의 한계를 넘을 경우에 잔여 부분을 저장하는 것이고, 상기 템프럴리 인덱스 정보(A3)는 동적으로 추가되는 인덱스 정보를 임시 저장한다. The B-Tree index information A1 is actually the main structure constituting the index, and the overflow index information A2 stores the remaining part when the triple ID list, which is a value for the key, exceeds the limit of the B-Tree. The temporal index information A3 temporarily stores index information added dynamically.

상기 B-Tree 인덱스 정보(A1)는 기본적인 인덱스를 구성하는 주 구조로서 키는 각 노드의 내용, 값은 노드가 포함된 트리플 아이디들로 구성된다. 상기 B-Tree의 내부 처리 프로세스는 노드의 접근에 대한 처리 속도를 높이기 위하여 MRU(Most Recently Used) 방식의 캐시 구조를 사용한다. 상기 노드의 형태는 가변 길이의 데이터를 지원하며 키와 값에 대해서 각각 최대 크기의 제한을 가진다. 그리고 내부적으로 사용하지 않는 노드 정보를 헤더 부분에 별도로 저장하여 노드의 재사용을 하고 이러한 프리된 노드들은 연결 리스트 구조로 처리한다. 그리고 리프(Leaf) 노드의 키 부분은 노드의 내용으로서 다양한 입력 형태에 대해서 일반화한 형태로 처리한다. 상기 리프(Leaf) 노드의 값 부분은 노드가 속한 트리플 ID의 리스트이며, 4 byte(int 형)의 크기로 고정되어 있는 트리플 아이디들의 크기를 최소화하기 위하여 각 트리플 아이디들의 차이에 대한 바이트 값에 대해서 앞의 0인 부분을 제거한 유효값만 저장하는 방식으로 처리한다.The B-Tree index information (A1) is a main structure constituting the basic index, the key is the content of each node, the value is composed of triple IDs containing the node. The internal processing process of the B-Tree uses a MRU (Most Recently Used) cache structure to speed up processing of a node's access. The node type supports variable length data and has a maximum size limit for keys and values, respectively. Node information that is not used internally is stored separately in the header to reuse the nodes, and these frozen nodes are treated as a linked list structure. The key part of the leaf node is processed as a generalized form for the various input types as the content of the node. The value part of the leaf node is a list of triple IDs to which the node belongs, and the byte value for the difference between each triple ID is minimized to minimize the size of the triple IDs fixed to a size of 4 bytes (int type). Process by storing only the valid value with the previous zero part removed.

예를 들어, int 형의 트리플 아이디 1, 트리플 아이디 10 의 2개가 존재하는 경우에는 다음과 같이 처리될 수 있다. For example, if there are two triple ID 1 and triple ID 10 of int type, they may be processed as follows.

- 2 아이디의 차이 계산: 10 - 1 = 9-2 ID difference calculation: 10-1 = 9

- 아이디의 차이를 byte로 변환 : 0x0000000000001001 (4 byte)-Convert ID difference to byte: 0x0000000000001001 (4 byte)

- 앞의 0으로 처리된 부분을 제거하여 유효 값만 저장 : Ox1001 (1 byte) 만 저장-Save valid value by removing the part treated as 0: Only save Ox1001 (1 byte)

상기 리프(Leaf) 노드의 값 부분의 길이가 제한 길이를 초과할 경우에는 오버플로우 인덱스 정보(A2)에 일부를 저장하고 그에 대한 정보를 연결 리스트 구조로 처리한다. When the length of the value portion of the leaf node exceeds the limit length, a part of the leaf node is stored in the overflow index information A2 and the information about the leaf node is processed as a linked list structure.

상기 오버플로우 인덱스 정보(A2)는 B-Tree 인덱스 정보의 값 부분인 트리플 ID 리스트의 크기가 제한 크기보다 커질 경우에 별도로 저장하기 위한 것으로, 빠른 검색을 위해 B-Tree의 값 부분의 구조와 동일한 구조로 구성하며 고정 크기의 블록 단위로 처리한다. 또한 내부적으로 블록의 접근에 대한 처리 속도를 높이기 위하여 MRU(Most Recently Used) 방식의 캐시 구조를 사용한다. 그리고 동일한 값에 대한 값들에 대한 블록들은 연결 리스트 구조로 처리한다.The overflow index information A2 is to be stored separately when the size of the triple ID list, which is the value portion of the B-Tree index information, is larger than the limit size. It is composed of structure and processed by fixed size block unit. Also, internally, the MRU (Most Recently Used) cache structure is used to increase the processing speed of the block access. And blocks for values of the same value are treated as a linked list structure.

그리고 상기 템프럴리 인덱스 정보(A3)는 동적으로 추가되는 인덱스 데이터를 임시 저장한다. 이 템프럴리 인덱스 부분은 메모리로만 존재하며 인덱스 서비스 모듈(106)의 오버헤드를 줄이기 위해 B-Tree 인덱스 정보(A1)에 바로 추가되지 않고 템프럴리 인덱스 정보(A3)에 임시 저장하며, 빠른 처리를 위해 해시 구조로 관리된다. The temporal index information A3 temporarily stores index data that is dynamically added. This temporal index portion exists only in memory and is temporarily stored in the temporal index information A3 instead of being directly added to the B-Tree index information A1 to reduce the overhead of the index service module 106. In order to manage the hash structure.

상기 쿼리 프로세서(108)는 클라이언트 API 모듈(120)에 통해 클라이언트로부터 제공된 쿼리를 파싱하여 처리하며, 상기 쿼리 중 서치에 대한 명령이 입력되면 상기 명령에 따라 상기 인덱스 서비스 모듈(16)을 통해 해당 쿼리에 대한 트리플 ID를 추출하고, 상기 트리플 ID에 대응되는 트리플 데이터를 레파지토리 서비스 모듈(104)로부터 트리플 데이터를 획득하여 상기 클라이언트 API 모듈(22)로 반환한다. The query processor 108 parses and processes a query provided from a client through a client API module 120. When a command for a search is input, the query processor 108 performs the corresponding query through the index service module 16 according to the command. Triple ID is extracted, and triple data corresponding to the triple ID is obtained from the repository service module 104 and returned to the client API module 22.

이제, 상기한 본 발명의 바람직한 실시예에 따른 레파지토리 시스템의 각 구성요소들의 동작에 대해 좀더 상세히 설명한다. Now, the operation of each component of the repository system according to the preferred embodiment of the present invention described above will be described in more detail.

<레파지토리 서비스 모듈><Repository Service Module>

<레파지토리 서비스 모듈 - 신규 트리플 데이터에 대한 처리>Repository Service Module-Processing New Triple Data

이제 레파지토리 서비스 모듈(104)의 동작 중 트리플 저장소(100)에 새로운 트리플 데이터를 추가하기 위해 트리플 데이터를 본 발명의 바람직한 실시예에 따라 가공하는 과정을 도 8을 참조하여 설명한다. A process of processing triple data according to an exemplary embodiment of the present invention to add new triple data to the triple store 100 during operation of the repository service module 104 will now be described with reference to FIG. 8.

상기 레파지토리 서비스 모듈(104)은 트리플 데이타가 입력되면(200단계), 상기 트리플 데이터의 각 노드 즉, 서브젝트 노드, 프리디케이트 노드, 오브젝트 노드를 추출한다(202단계). 여기서, 트리플 데이터는 서브젝트 노드, 프리디케이트 노드, 오브젝트 노드로 구성되며, 각 노드에는 데이터가 포함된다. 또한, 상기 서브젝트 및 프리디케이트 노드의 데이터는 URL 등의 경로정보이거나 리소스이므로, 다른 트리플 데이터와 동일할 수 있다. 이에 본 발명은 상기 서브젝트 노드 및 프리디케이트 노드에 대해서는, 이미 노드 데이터에 그 값이 저장되어 있는지를 체크한다(204단계). When the triple data is input (step 200), the repository service module 104 extracts each node of the triple data, that is, a subject node, a predicate node, and an object node (step 202). Here, the triple data is composed of a subject node, a predicate node, and an object node, and each node includes data. In addition, since the data of the subject and the predicate node are path information or resources such as URL, they may be identical to other triple data. Accordingly, the present invention checks whether the value is already stored in the node data for the subject node and the predicate node (step 204).

상기 서브젝트 또는 프리디케이트 노드의 값이 이미 저장되어 있으면(206단계), 상기 레파지토리 서비스 모듈(104)은 상기 이미 저장된 서브젝트 노드 및 프리디케이트 노드의 ID를 ID 데이터에서 독출한다(208단계). If the value of the subject or predicate node is already stored (step 206), the repository service module 104 reads IDs of the already stored subject node and predicate node from ID data (step 208).

한편 상기 서브젝트 노드 및 프리디케이트 노드의 값이 저장되어 있지 않거나(206단계) 오브젝트 노드에 대해서는, 상기 레파지토리 서비스 모듈(104)은 해당 노드의 값 및 리소스를 노드 데이터에 저장한다(210단계). 여기서, 상기 노드 데이터의 저장시에는 네임 스페이스를 적용하여 노드 데이터를 간소화된 데이터로 치환시켜 저장되게 한다. On the other hand, the values of the subject node and the predicate node are not stored (step 206) or for the object node, the repository service module 104 stores the values and resources of the node in the node data (step 210). In the case of storing the node data, a namespace is applied to replace the node data with simplified data.

이후 상기 레파지토리 서비스 모듈(104)는 상기 노드에 대한 노드 ID를 생성한다(212단계). The repository service module 104 then generates a node ID for the node (step 212).

이에따라 상기 입력된 트리플 데이터의 서브젝트 노드, 프리디케이트 노드, 오브젝트 노드 각각에 대한 ID가 획득된다(214단계). As a result, an ID for each of the subject node, the predicate node, and the object node of the input triple data is obtained (step 214).

상기 레파지토리 서비스 모듈(104)은 상기 트리플 데이터의 서브젝트 노드, 프리디케이트 노드, 오브젝트 노드 각각에 대한 ID를 노드 ID 정보에 저장한다(216단계). The repository service module 104 stores IDs of each of the subject node, the predicate node, and the object node of the triple data in node ID information (step 216).

이후, 상기 레파지토리 서비스 모듈(104)은 트리플 ID를 생성하고, 상기 트리플 ID를 생성하여 인덱스 서비스 모듈(106)로 출력한다(218,220단계). Thereafter, the repository service module 104 generates a triple ID, generates the triple ID, and outputs the triple ID to the index service module 106 (steps 218 and 220).

<레파지토리 서비스 모듈 - 트리플 데이터 찾기><Repository Service Module-Find Triple Data>

이제 상기 레파지토리 서비스 모듈(104)의 동작 중 인덱스 서비스 모듈(106)이 제공하는 트리플 데이터 ID에 따라 레파지토리에 저장된 트리플 데이터를 출력하는 과정을 도 9를 참조하여 상세히 설명한다. Now, a process of outputting triple data stored in the repository according to the triple data ID provided by the index service module 106 during the operation of the repository service module 104 will be described in detail with reference to FIG. 9.

상기 레파지토리 서비스 모듈(104)은 트리플 데이터의 찾기 요청의 발생에 따라 인덱스 서비스 모듈(106)로부터 트리플 ID가 제공되면, 상기 트리플 ID에 대 응되는 노드 ID를 노드 ID 정보에서 찾는다(300,302단계). When the repository service module 104 is provided with the triple ID from the index service module 106 according to the occurrence of the triple data search request, the repository service module 104 searches for the node ID corresponding to the triple ID in the node ID information (step 300 and 302).

상기 노드 ID 정보에서 상기 트리플 ID에 대응되는 노드 ID, 즉 찾고자 하는 트리플 데이터의 서브젝트 노드 ID, 프리디케이트 노드 ID, 오브젝트 노드 ID가 획득되면(304단계), 상기 레파지토리 서비스 모듈(104)은 상기 노드 데이터 정보 중에서 노드 ID에 대응되는 노드 데이터를 포함하는 노드 데이터 정보에서 획득한다(306,310단계). When the node ID corresponding to the triple ID in the node ID information, that is, the subject node ID, the predicate node ID, and the object node ID of the triple data to be searched for is obtained (step 304), the repository service module 104 determines the node. In operation 306 and 310, data is obtained from node data information including node data corresponding to the node ID.

상기 획득된 노드 데이터를 네임 스페이스를 역적용하여 원 노드 데이터로 복원하고(312단계), 상기 복원된 데이터를 이용하여 트리플 형태의 트리플 데이터를 구성하고, 상기 트리플 데이터를 반환한다(314단계). The obtained node data is restored to original node data by reversely applying the namespace (step 312), and triple data having a triple form is formed using the restored data, and the triple data is returned (step 314).

<인덱스 서비스 모듈><Index service module>

본 발명의 인덱스 서비스 모듈(106)의 동작을 레파지토리(100)에 새로운 트리플 데이터를 추가하는 경우에 인덱스 정보에 반영하는 과정과 상기 인덱스 정보를 이용하여 트리플 데이터의 ID를 찾는 과정을 나누어 설명한다. In the case where new triple data is added to the repository 100 by the operation of the index service module 106 of the present invention, the process of reflecting the index information and the process of finding the ID of the triple data using the index information will be described.

<인덱스 서비스 모듈 - 신규 트리플 데이터에 대한 처리>Index Service Module-Processing New Triple Data

먼저 인덱스 정보를 생성하는 과정을 도 10을 참조하여 설명한다. First, a process of generating index information will be described with reference to FIG. 10.

상기 인덱스 서비스 모듈(106)은 트리플 데이터 및 트리플 ID가 입력되면(400단계), 상기 트리플 데이터에 대해 인버스트 컨버팅을 이행한다(402,404단계). 상기 인버스트 컨버팅은 서브젝트 노드 데이터, 프리티케이트 노드 데이터, 오브젝트 노드 데이터로 구성된 트리플 데이터와 트리플 ID를 서브젝트 노드의 데이터와 트리플 ID, 프리디케이트 노드 데이터와 트리플 ID, 오브젝트 노드 데이터 와 트리플 ID로 변환하는 것이다. When the triple data and triple ID are input (step 400), the index service module 106 performs inverted conversion on the triple data (step 402, 404). The invert converting converts triple data and triple IDs consisting of subject node data, pretty node data, and object node data into subject node data, triple ID, predicate node data, triple ID, object node data, and triple ID. will be.

상기 각 인버스트 컨버팅 결과는 본 발명의 바람직한 실시예에 따라 노말라이즈되며, 상기 노말라이즈는 도 11에 도시한 표에 도시한 규칙에 따른다(406단계). 여기서, 상기 노말라이즈가 완료된 서브젝트 노드 데이터와 트리플 ID가 서브젝트 인덱스 데이터가 되고, 상기 노말라이즈가 완료된 프리디케이트 노드 데이터와 트리플 ID가 프리디케이트 인덱스 데이터가 되고, 상기 노말라이즈가 완료된 오브젝트 노드 데이터와 트리플 ID가 오브젝트 인덱스 데이터가 된다.Each of the inverted converting results is normalized according to the preferred embodiment of the present invention, and the normalization follows the rules shown in the table shown in FIG. 11 (step 406). Here, the normalized completed subject node data and triple ID are subject index data, and the normalized completed predicate node data and triple ID become predicate index data, and the normalized completed object node data and triple The ID becomes the object index data.

상기 인덱스 서비스 모듈(106)은 상기 서브젝트 인덱스 데이터 및 상기 프리디케이트 인덱스 데이터, 오브젝트 인덱스 데이터는 템프럴리 인덱스 정보의 저장영역에 임시 저장된다(408단계). The index service module 106 temporarily stores the subject index data, the predicate index data, and the object index data in a storage area of temporal index information (step 408).

상기 템프럴리 인덱스 정보의 저장영역이 풀이 되면(410단계), 상기 인덱스 서비스 모듈(106)은 상기 템프럴리 인덱스 정보의 저장영역에 저장되어 있는 서브젝트 인덱스 데이터 및 상기 프리디케이트 인덱스 데이터, 오브젝트 인덱스 데이터를 B-Tree 인덱스 정보에 등록한다(412단계). When the storage area of the temporal index information becomes full (step 410), the index service module 106 may delete the subject index data, the predicate index data, and the object index data stored in the storage area of the temporal index information. It is registered in the B-Tree index information (step 412).

여기서, 상기 서브젝트 인덱스 데이터 및 상기 프리디케이트 인덱스 데이터, 오브젝트 인덱스 데이터를 B-Tree 인덱스 정보에 등록하는 과정을 도 12를 참조하여 좀더 설명한다. A process of registering the subject index data, the predicate index data, and the object index data with the B-Tree index information will be described in detail with reference to FIG. 12.

상기 인덱스 서비스 모듈(106)은 템프럴리 인덱스 정보가 로드되면(500단계), 상기 템프럴리 인덱스 정보 저장영역에 더 이상 인덱스 데이터가 저장되어 있지 않을 때까지 본 발명의 바람직한 실시예에 따른 B-Tree 인덱스 정보 등록과 정(508~518단계)를 반복한다(502단계).When the index service module 106 is loaded with temporal index information (step 500), the B-Tree according to the preferred embodiment of the present invention until the index data is no longer stored in the temporal index information storage area. The index information registration process (steps 508 to 518) is repeated (step 502).

상기 인덱스 서비스 모듈(106)은 템프럴리 인덱스 정보에서 어느 한 인덱스 데이터를 로드하고, 상기 로드한 인덱스 데이터를 B-Tree 인덱스 정보에 부가한다(506,508단계). The index service module 106 loads any index data from the temporal index information and adds the loaded index data to the B-Tree index information (steps 506 and 508).

상기 인덱스 서비스 모듈(106)은 상기 인덱스 데이터의 부가에 따라 상기 B-Tree 인덱스 정보의 규정된 크기가 초과되는 경우, 즉 B-Tree 인덱스 정보 저장영역이 풀이 되면(510단계), 오버플로우 인덱스 데이터를 생성하고(512단계), 상기 오버플로우 인덱스 데이터를 오버플로우 인덱스 정보에 부가한다(514단계). 이후 상기 인덱스 서비스 모듈(16)은 상기 오버플로우 ID를 부여하고, 상기 오버플로우 ID와 B-Tree 인덱스 정보의 해당 인덱스 데이터를 연결시키는 정보를 상기 B-Tree 인덱스 정보에 기록한다(516,518단계). When the prescribed size of the B-Tree index information is exceeded according to the addition of the index data, that is, when the B-Tree index information storage area becomes full (step 510), the overflow index data In operation 512, the overflow index data is added to the overflow index information in operation 514. Thereafter, the index service module 16 assigns the overflow ID, and records the information linking the overflow ID and the corresponding index data of the B-Tree index information in the B-Tree index information (steps 516 and 518).

상기한 B-Tree 인덱스 정보 등록과정(508~518단계)은 상기 템프럴리 인덱스 정보 저장영역에 더 이상 인덱스 데이터가 저장되어 있지 않을 때까지 반복하며, 상기 템프럴리 인덱스 정보 저장영역에 저장된 인덱스 데이터에 대한 처리가 완료되면, 상기 템프럴리 인덱스 정보 저장영역을 클리어하고 종료한다(504단계). The process of registering B-Tree index information (steps 508 to 518) is repeated until the index data is no longer stored in the temporal index information storage area, and the index data stored in the temporal index information storage area is repeated. When the processing is completed, the temporal index information storage area is cleared and ends (step 504).

<인덱스 서비스 모듈 - 트리플 ID 검출><Index Service Module-Triple ID Detection>

상기한 인덱스 서비스 모듈(106)의 동작 중 트리플 데이터의 찾기를 위한 트리플 ID 검출 과정을 도 13을 참조하여 상세히 설명한다. A triple ID detection process for searching for triple data during the operation of the index service module 106 will be described in detail with reference to FIG. 13.

상기 인덱스 서비스 모듈(106)은 쿼리 프로세서(108)로부터 SPARQL 중 그래프 패턴 등의 트리플 ID 찾기(find) 명령이 입력되면, 상기 SPARQL가 서브젝트 노 드의 데이터 중 일부 또는 전체를 제공하여 트리플 ID를 찾기 위한 것인지, 프리디케이트 노드의 데이터 중 일부 또는 전체를 제공하여 트리플 ID를 찾기 위한 것인지, 오브젝트 노드의 데이터 중 일부 또는 전체를 제공하여 트리플 ID를 찾기 위한 것인지를 체크한다(600단계).When the index service module 106 receives a triple ID find command such as a graph pattern among SPARQLs from the query processor 108, the SPARQL provides some or all of the data of the subject node to find the triple ID. In order to check whether the triple ID is provided by providing some or all of the data of the predicate node, or searching the triple ID by providing some or all of the data of the object node (step 600).

상기 인덱스 서비스 모듈(106)은 서브젝트 노드의 데이터를 제공하여 트리플 ID를 찾기 위한 SPARQL이 제공되면, 상기 검색어에 대해 도 7에 따른 노말라이즈를 이행하고, 상기 서브젝트 인덱스 정보에서 상기 노말라이즈된 결과를 키로 가지고 있는 인덱스 데이터를 추출하여 상기 찾기 요청된 트리플 데이터에 대한 트리플 ID를 획득한다(602~606단계). 여기서, 본 발명은 B-Tree 구조의 특성상 오버되는 서브젝트 ID는 오버플로우 인덱스 밸류 정보로 나누어 저장하고, 소정 수가 되지 않을 때에는 템프럴리 인덱스 정보에 임시 저장해두므로, 상기 인덱스 서비스 모듈(106)은 B-Tree 인덱스 정보, 오버플로우 인덱스 밸류 정보, 템프럴리 인덱스 정보 중 상기 서브젝트 노드의 내용을 가지는 인덱스 데이터들을 추출하고, 상기 인덱스 데이터들을 머지하고, 그 인덱스 정보에 값으로 등록된 트리플 ID 세트를 추출한다(608단계). When the index service module 106 provides data of the subject node to provide the SPARQL for finding the triple ID, the index service module 106 performs normalization according to FIG. 7 with respect to the search word, and outputs the normalized result from the subject index information. The index data having the key is extracted to obtain a triple ID for the triple data requested to be searched (steps 602 to 606). In the present invention, the object ID that is overlaid due to the characteristics of the B-Tree structure is divided into overflow index value information and stored temporarily in temporal index information when it does not become a predetermined number. Extract index data having the content of the subject node among tree index information, overflow index value information, and temporal index information, merge the index data, and extract a triple ID set registered as a value in the index information. (Step 608).

상기 인덱스 서비스 모듈(106)은 프리디케이트 노드의 데이터를 제공하여 RDF 트리플 ID를 찾기 위한 SPARQL이 제공되면, 상기 검색어에 대한 노말라이즈를 이행하고, 상기 프리디케이트 인덱스 정보에서 상기 노말라이즈된 결과를 키로 가지고 있는 인덱스 데이터를 추출하여, 상기 찾기 요청된 트리플 데이터에 대한 트리플 ID를 획득한다(610~614단계). 특히 상기 인덱스 서비스 모듈(106)은 상기 프 리디케이트 인덱스 정보를 구성하는 B-Tree 인덱스 정보, 오버플로우 인덱스 밸류 정보, 템프럴리 인덱스 정보 중 상기 프리디케이트 노드의 내용을 가지는 인덱스 데이터들을 추출하고, 상기 인덱스 데이터들을 머지하고, 그 인덱스 정보에 값으로 등록된 트리플 ID 세트를 추출한다(616단계). When the index service module 106 provides data of a predicate node to provide a SPARQL for finding an RDF triple ID, the index service module 106 performs normalization of the search word and uses the normalized result as a key in the predicate index information. The index data having the same is extracted, and a triple ID for the triple data requested to be found is obtained (steps 610 to 614). In particular, the index service module 106 extracts index data having contents of the predicate node among B-Tree index information, overflow index value information, and temporal index information constituting the predicate index information. The index data is merged, and a triple ID set registered as a value in the index information is extracted (step 616).

상기 인덱스 서비스 모듈(106)은 오브젝트 노드의 데이터를 제공하여 트리플 ID를 찾기 위한 SPARQL이 제공되면, 상기 검색어에 대한 노말라이즈를 이행하고, 프리디케이트 인덱스 정보에서 상기 노말라이즈된 결과를 키로 가지고 있는 인덱스 데이터를 추출한다(618,620단계). 특히 상기 인덱스 서비스 모듈(106)은 오브젝트 인덱스 정보를 구성하는 B-Tree 인덱스 정보, 오버플로우 인덱스 밸류 정보, 템프럴리 인덱스 정보 중 상기 프리디케이트 노드의 내용을 가지는 인덱스 데이터들을 추출하고, 상기 인덱스 데이터들을 머지하고, 그 인덱스 정보에 값으로 등록된 트리플 ID 세트를 추출한다(624단계). When the index service module 106 provides data of an object node and provides a SPARQL for finding a triple ID, the index service module 106 performs normalization on the search word and an index having the normalized result as a key in predicate index information. Extract the data (steps 618 and 620). In particular, the index service module 106 extracts index data having the content of the predicate node among B-Tree index information, overflow index value information, and temporal index information constituting object index information, and extracts the index data. In operation 624, the triple ID set registered as a value in the index information is merged.

여기서, 상기 SPARQL은 트리플 데이터에 대해 다수 노드에 대한 데이터의 일부 또는 전체를 입력하여 RDF 트리플 ID의 찾기를 명령하는 명령어일 수 있으므로, 상기 인덱스 서비스 모듈(106)은 상기 서브젝트 인덱스 정보, 프리디케이트 인덱스 정보, 오브젝트 인덱스 정보 중 하나 또는 그 이상으로부터 찾은 트리플 ID 세트들에 대한 앤드 오퍼레이팅을 이행하여 최종 트리플 ID 세트를 생성한다(626,628단계). In this case, the SPARQL may be a command for inputting a part or all of data for a plurality of nodes with respect to triple data to instruct the search of an RDF triple ID. Thus, the index service module 106 may include the subject index information and the predicate index. End operation is performed on the triple ID sets found from one or more of the information and the object index information to generate the final triple ID set (steps 626 and 628).

<쿼리 프로세서><Query processor>

상기 본 발명의 구성요소 중 쿼리 프로세서(108)의 동작을 도 14를 참조하여 좀더 상세히 설명한다. The operation of the query processor 108 among the components of the present invention will be described in more detail with reference to FIG. 14.

상기 쿼리 프로세서(108)는 클라이언트 API 모듈(120), 쿼리 파스 모듈(700), SPARQL 파스 모듈(702), SPARQL 프로세서 모듈(704)로 구성된다. The query processor 108 includes a client API module 120, a query parse module 700, a SPARQL parse module 702, and a SPARQL processor module 704.

상기 클라이언트 API 모듈(100)는 실제 웹 서버(WebServer) 또는 일반 어플리케이션(Application)로부터의 쿼리(Query)를 레파지토리(100)로 제공한다. The client API module 100 provides a query to the repository 100 from a real web server or a general application.

상기 쿼리 파스 모듈(700)는 상기 클라이언트로부터의 리퀘스트를 파싱하며, 서버정보 및 트리플 저장소명, 부가정보, SPARQL 등의 정보를 추출하여 처리한다. The query parse module 700 parses the request from the client and extracts and processes server information, triple repository name, additional information, and SPARQL.

상기 SPARQL 파스 모듈(702)는 실제 쿼리 부분인 SPARQL을 파싱하여 내부에서 처리 가능한 형태로 변환한다. 여기서, 상기 SPARQL은 RDF를 위한 쿼리 언어로서 W3C의 리커맨데이션(RECOMMENDATION)에 대한 것이다. 여기서, 상기 SPARQL 파스 모듈(702)은 상기 파싱 도중에 에러가 발생한다면, 상기 파싱을 중지하고 에러 원인을 클라이언트에게 리포트한다. The SPARQL parse module 702 parses SPARQL, which is an actual query part, and converts the SPARQL into a form that can be processed internally. In this case, the SPARQL is a query language for RDF, and is about RECOMMENDATION of W3C. Here, if an error occurs during the parsing, the SPARQL parse module 702 stops the parsing and reports the cause of the error to the client.

상기 SPARQL 프로세스 모듈(704)는 상기 SPARQL 파스 모듈(702)이 제공하는 파싱 결과인 내부 처리가 가능한 형태를 가지고 있는 실제 쿼리의 결과를 생성하는 것으로, ARQ를 통해 구현한다. 상기 ARQ는 SPARQL 처리기로서 SPARQL의 파싱 및 처리를 구현한 오픈 소스이다. 또한 상기 SPARQL 프로세스 모듈(704)은 상기 ARQ를 참조하여 최적화(OPTIMIZE)되게 구현됨이 바람직하다. The SPARQL process module 704 generates an actual query result having an internal processing form that is a parsing result provided by the SPARQL parse module 702, and is implemented through ARQ. The ARQ is an open source that implements parsing and processing of SPARQL as a SPARQL processor. In addition, the SPARQL process module 704 is preferably implemented to be optimized (OPTIMIZE) with reference to the ARQ.

이제 상기한 본 발명의 바람직한 실시예에 따른 레파지토리 시스템의 동작을 레파지토리에 새로운 트리플 데이터를 등록하는 과정과 상기 레파지토리에 등록된 트리플 데이터의 찾기 과정으로 나누어 설명한다. Now, the operation of the repository system according to the preferred embodiment of the present invention will be described by dividing the process of registering new triple data into the repository and the process of searching for triple data registered in the repository.

<트리플 데이터 등록 과정><Triple data registration process>

먼저 레파지토리(100)에 새로운 트리플 데이터를 등록하는 과정을 도 15을 참조하여 상세히 설명한다. First, a process of registering new triple data in the repository 100 will be described in detail with reference to FIG. 15.

상기 레파지토리 시스템의 매니저(122)는 클라이언트 API 모듈(120)을 통해 제공되는 트리플 데이터를 미리 정의된 저장영역에 파일 형태로 저장한다. The manager 122 of the repository system stores triple data provided through the client API module 120 in a predefined storage area in the form of a file.

상기 레파지토리(100)는 상기 미리 정의된 저장영역으로부터 파일을 로드하여 상기 파일이 리더블(readable)한지를 체크하고, 상기 파일이 리더블하면 상기 파일을 파싱하고, 상기 파싱된 파일내에 트리플 데이터가 존재하는지를 체크하고, 상기 트리플 데이터가 유효한지를 체크한다(802~810단계). 즉, 미리 정의된 저장영역에 트리플 데이터의 형식에 부합되는 유효한 트리플 데이터가 있는지를 체크한다. The repository 100 loads a file from the predefined storage area to check whether the file is readable, parses the file if the file is readable, and stores triple data in the parsed file. It is checked whether there exists, and whether the triple data is valid (steps 802 to 810). That is, it is checked whether there is valid triple data corresponding to the triple data format in the predefined storage area.

상기 트리플 데이터가 있으면 상기 레파지토리(100)는 트리플 데이터의 등록을 위한 트리플 오브젝트를 생성하고, 상기 트리플 오브젝트를 실행한다(812,814단계). 상기 트리플 오브젝트는 상기 트리플 데이터를 미리 정해둔 임시저장 영역에 저장한다(816단계). If there is the triple data, the repository 100 generates a triple object for registering the triple data and executes the triple object (steps 812 and 814). The triple object stores the triple data in a predetermined temporary storage area in step 816.

상기 임시저장영역이 풀이 되면(818단계), 상기 트리플 오브젝트는 임시 저장된 트리플 세트를 로드하여(824단계), 상기 트리플 데이터를 레파지토리 서비스 모듈(104)을 통해 레파지토리(100)에 등록한다(826단계). 여기서, 상기 레파지토리 서비스 모듈(104)을 통한 레파지토리 등록과정은 이미 상술되었으므로, 이에 대한 설명은 생략한다. When the temporary storage area becomes full (step 818), the triple object loads the temporarily stored triple set (step 824) and registers the triple data in the repository 100 through the repository service module 104 (step 826). ). Here, since the repository registration process through the repository service module 104 has already been described above, a description thereof will be omitted.

또한 상기 트리플 데이터를 레파지토리(100)에 등록한 후에, 상기 트리플 오브젝트는 인덱스 서비스 모듈(106)을 통해 상기 트리플 데이터에 대한 인덱스 데이터를 인덱스 정보에 반영한다(828단계). 여기서, 상기 인덱스 서비스 모듈(106)을 통한 인덱스 데이터 등록과정은 이미 상술되었으므로, 이에 대한 설명은 생략한다. In addition, after registering the triple data in the repository 100, the triple object reflects the index data for the triple data in the index information through the index service module 106 (step 828). Here, since the index data registration process through the index service module 106 has been described above, a description thereof will be omitted.

상기한 트리플 데이터를 레파지토리(100)에 등록하고, 그에 대한 인덱스 데이터를 인덱스 정보에 등록하는 과정은 상기 임시저장영역에 저장된 트리플 데이터가 소진될 때까지 반복된다. The process of registering the triple data in the repository 100 and registering the index data thereof in the index information is repeated until the triple data stored in the temporary storage area is exhausted.

또한 상기 임시저장영역에 트리플 데이터를 저장하여, 상기 트리플 데이터를 추가하는 과정은 상기 파일에 존재하는 트리플 데이터의 처리가 완료될 때까지 이행되며, 상기 파일에 존재하는 트리플 데이터의 처리가 완료되면, 상기 레파지토리 서비스 모듈(122)은 상기 트리플 데이터의 처리에 대한 리두 로그 데이터를 레파지토리(100)에 부가한다(830단계).In addition, the process of adding triple data by storing triple data in the temporary storage area is performed until processing of triple data existing in the file is completed, and when processing of triple data existing in the file is completed, The repository service module 122 adds redo log data for processing the triple data to the repository 100 (step 830).

<쿼리 처리 과정><Query processing>

이제 레파지토리(100)에 대한 쿼리를 처리하는 과정을 도 16을 참조하여 상세히 설명한다. Now, a process of processing a query for the repository 100 will be described in detail with reference to FIG. 16.

상기 매니저(122)는 클라이언트 API 모듈(120)을 통해 클라이언트로부터의 SPARQL 쿼리가 입력되면 상기 SPARQL 쿼리를 쿼리 프로세서(108)로 제공한다. The manager 122 provides the SPARQL query to the query processor 108 when a SPARQL query is input from the client through the client API module 120.

상기 쿼리 프로세서(108)는 상기 SPARQL 쿼리를 파스하여 상기 쿼리가 유효한 쿼리인지를 체크한다(900~904단계). The query processor 108 parses the SPARQL query to check whether the query is a valid query (steps 900 to 904).

상기 쿼리가 유효한 쿼리이면, 상기 쿼리 프로세서(108)는 ARQ를 활용하여 쿼리에 대응되는 프로세스를 수행하고(906.908단계), 그 프로세스에 따른 결과를 생성하고, 그 결과를 클라이언트로 반환한다(910,912단계).If the query is a valid query, the query processor 108 performs a process corresponding to the query by using ARQ (step 906.908), generates a result according to the process, and returns the result to the client (step 910, 912). ).

<트리플 데이터 찾기 과정><Triple data search process>

여기서, 상기 쿼리 처리 과정 중 그래프 패턴, 즉 트리플 데이터의 찾기 요청에 따른 프로세스를 도 17을 참조하여 상세히 설명한다. Here, a process according to a graph pattern, that is, a request for finding triple data, in the query processing process will be described in detail with reference to FIG. 17.

상기 쿼리 프로세서(108)는 상기 쿼리 중 그래프 패턴이 제공되었으면(1000단계), 상기 그래프 패턴에 포함된 서브젝트, 프리디케이트, 오브젝트 노드 중 하나 이상에 대한 데이터의 일부 또는 전체를 제공받는다(1002단계). When the graph pattern is provided in the query (step 1000), the query processor 108 receives a part or all of data about one or more of a subject, predicate, and object node included in the graph pattern (step 1002). .

상기 서브젝트, 프리디케이트, 오브젝트 노드 중 하나 이상에 대한 데이터의 일부 또는 전체에 대응되는 트리플 ID 세트를 인덱스 서비스 모듈(106)을 통해 획득한다(1004,1006단계). 여기서, 인덱스 서비스 모듈(106)을 통한 트리플 ID 세트 획득 과정은 도 9를 통해 상세히 설명하였으므로, 이에 대한 설명은 생략한다. A triple ID set corresponding to a part or all of data of one or more of the subject, predicate, and object node is obtained through the index service module 106 (steps 1004 and 1006). Here, since the triple ID set acquisition process through the index service module 106 has been described in detail with reference to FIG. 9, description thereof will be omitted.

상기 트리플 ID 세트가 획득되면, 상기 쿼리 프로세서(108)는 트리플 ID 세트에 포함된 트리플 ID 각각에 대한 트리플 데이터를 레파지토리 서비스 모듈(104)을 통해 찾아 획득하여, 트리플 데이터 세트를 구성하고, 상기 트리플 데이터 세트를 클라이언트로 반환한다(1008~1020단계). When the triple ID set is obtained, the query processor 108 finds and acquires triple data for each triple ID included in the triple ID set through the repository service module 104 to construct a triple data set, and generates the triple data set. Return the data set to the client (steps 1008-1020).

도 1은 본 발명의 바람직한 실시예에 따른 유비쿼터스 서비스 시스템의 구성도. 1 is a block diagram of a ubiquitous service system according to a preferred embodiment of the present invention.

도 2는 도 1의 각부에 대한 상세 구성도. FIG. 2 is a detailed configuration diagram of each part of FIG. 1. FIG.

도 3은 DL 추론기의 T상세 구성도.3 is a T detail configuration diagram of the DL reasoner.

도 4는 본 발명의 바람직한 실시예에 따른 온톨로지 구성예를 도시한 도면. 4 is a view showing an ontology configuration example according to a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 레파지토리 시스템의 구성도,5 is a configuration diagram of a repository system according to a preferred embodiment of the present invention;

도 6 및 도 7은 본 발명의 바람직한 실시예에 따른 레파지토리 정보 구조도. 6 and 7 are repository information structure diagrams in accordance with a preferred embodiment of the present invention.

도 8 내지 도 10, 도 12 내지 도 17은 상기 레파지토리 시스템의 각부에 대한 처리 흐름도. 8 to 10 and 12 to 17 are process flowcharts for each part of the repository system.

도 11은 본 발명의 바람직한 실시예에 따른 일반화 규칙을 도시한 도면. 11 illustrates a generalization rule in accordance with a preferred embodiment of the present invention.

Claims (20)

유비쿼터스 서비스 시스템에 있어서, In the ubiquitous service system, 다양한 상태를 센싱하며, 센싱결과에 따른 이벤트 정보를 생성하는 센서가 다수 구비되는 센서 그룹;A sensor group configured to sense various states and include a plurality of sensors generating event information according to a sensing result; 다양한 동작을 이행하며, 동작상태에 따른 이벤트 정보를 생성하며, 외부로부터 제어명령이 수신되면 그에 따른 동작을 이행하는 디바이스가 다수 구비되는 디바이스 그룹;A device group including a plurality of devices configured to perform various operations, generate event information according to an operation state, and perform an operation according to a control command received from the outside; 외부로부터 제어명령이 수신되면 그에 따른 유비쿼터스 서비스를 이행하는 서비스 모듈이 다수 구비되는 유비쿼터스 서비스 그룹; A ubiquitous service group provided with a plurality of service modules for implementing a ubiquitous service when a control command is received from the outside; 상기 센서 그룹의 다수의 센서 및 상기 디바이스 그룹의 다수의 디바이스와의 인터페이스를 담당하는 인터페이스 장치;An interface device for interfacing with a plurality of sensors of the sensor group and a plurality of devices of the device group; 상황인식을 위한 온톨로지를 구비하며, 상기 이벤트 정보를 나타내는 하나 이상의 인스턴스를 저장하는 온톨로지 레파지토리 장치;An ontology repository device having an ontology for situation recognition and storing one or more instances representing the event information; 상기 인터페이스 장치를 통해 상기 이벤트 정보를 수신받아 로우레벨의 상황인식을 이행하고, 로우레벨 상황인식결과와 상기 이벤트 정보를 조합하여 상기 온톨로지 스키마에 부합되는 하나 이상의 인스턴스를 생성하고, 상기 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치에 저장하고, 상기 상황인식 정보의 처리를 외부로 요청하며, Receiving the event information through the interface device to implement a low-level situation recognition, combines the low-level situation recognition result and the event information to generate one or more instances meeting the ontology schema, and the one or more instances Store in the ontology repository device, request the processing of the situation recognition information to the outside, 외부로부터 어느 하나 이상의 서비스 모듈 또는 어느 하나 이상의 디바이스에 대한 제어명령이 수신되면, 상기 제어명령을 해당 서비스 모듈 또는 해당 디바이스로 전송하는 유비쿼터스 서비스 지원 디바이스 협업 시스템;A ubiquitous service support device cooperation system that transmits the control command to the service module or the device when the control command is received from at least one service module or at least one device; 상기 상황인식 정보의 처리요청에 따라, 상기 상황인식 정보의 처리요청에 대응되는 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 저장소로부터 독출하고, 상기 독출된 하나 이상의 인스턴스를 미리 정해둔 지식 베이스와 비교하여 하이레벨 상황인지를 이행하고,According to the request for processing the situation awareness information, at least one instance corresponding to the request for processing the situation awareness information is read from the ontology repository repository, and the at least one read instance is compared with a predetermined knowledge base to compare a high level situation. Fulfilling cognition, 상기 하이레벨 상황인지결과에 대응되는 하나 이상의 서비스를 결정하고, 상기 결정된 하나 이상의 서비스를 제공하기 위한 하나 이상의 서비스 모듈 또는 하나 이상의 디바이스에 대한 제어명령을 생성하여 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템으로 제공하는 상황정보 기반 지능형 서비스 연계 및 운영 시스템; 을 포함하며, Determining at least one service corresponding to the high level situation recognition result, generating a control command for at least one service module or at least one device for providing the determined at least one service, and providing the same to the ubiquitous service supporting device collaboration system; Intelligent information linkage and operation system based on context information; Including; 상기 유비쿼터스 서비스 지원 디바이스 협업 시스템은, 상기 이벤트 정보를 수신받아 하나 이상의 인스턴스를 생성하는 상황인식 협업 시스템;을 구비하며,The ubiquitous service support device collaboration system includes a situation-aware collaboration system that receives the event information and generates one or more instances. 상기 상황인식 협업 시스템은, The situation recognition collaboration system, 상기 이벤트 정보를 스트림 형태로 수신받아 미리 정해진 필터정보에 따라 분류하고, 상기 분류된 이벤트 정보로부터 로우레벨 상황인지 판단정보에 따라 로우레벨 상황인지를 이행하고, 상기 로우레벨 상황인지 결과와 상기 분류된 이벤트 정보를 조합하여 상황인지 정보를 생성하는 컨텍스트 프로파일러와, Receiving the event information in the form of a stream and classifying according to predetermined filter information, and transitions from the classified event information to a low-level situation according to the low-level situation or determination information, and the result and the classified A context profiler that combines event information to generate contextual information; 상기 상황인지 정보를 트리플 형식을 가지는 하나 이상의 인스턴스로 가공하고, 상기 하나 이상의 인스턴스를 온톨로지 레파지토리 장치에 저장하는 인스턴스 생성기를 포함하는 것을 특징으로 하는 유비쿼터스 서비스 시스템.And an instance generator for processing the context awareness information into one or more instances having a triple format and storing the one or more instances in an ontology repository device. 삭제delete 제1항에 있어서,The method of claim 1, 상기 상황정보 기반 지능형 서비스 연계 및 운영 시스템은,The contextual information based intelligent service connection and operation system, 상기 상황정보 처리요청에 따라 하이레벨 상황인지를 이행하여 그에 대응되는 서비스를 결정하는 상황정보 처리 시스템을 구비하며, In accordance with the situation information processing request is provided with a situation information processing system for performing a high level situation whether the corresponding service is determined, 상기 상황정보 처리 시스템은, The situation information processing system, 상기 상황정보 처리 요청에 따른 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치로부터 독출하고, Read at least one instance according to the context information processing request from the ontology repository device, 다양한 다수의 개별 객체를 조합하여 의미를 부여시킨 후에 하이레벨 상황으로 정의한 지식정보가 다수 구비된 지식 베이스를 이용하여 상기 하나 이상의 인스턴스로부터 하이레벨 상황을 추론하거나, Infer a high level situation from the one or more instances by using a knowledge base equipped with a plurality of knowledge information defined as a high level situation after combining a plurality of individual objects to give meaning. 미리 정해둔 단순화된 룰에 따라 상기 하나 이상의 인스턴스로부터 하이레벨 상황을 추론하는 컨텍스트 애널라이저;A context analyzer that infers a high level situation from the one or more instances according to a predefined simplified rule; 상기 하이레벨 상황인식결과에 대응되는 유비쿼터스 서비스를 결정하는 컨텍스트 서비스 프로바이더로 구성됨을 특징으로 하는 유비쿼터스 서비스 시스템.Ubiquitous service system, characterized in that configured as a context service provider for determining a ubiquitous service corresponding to the high-level situation recognition result. 제3항에 있어서,The method of claim 3, 상기 컨텍스트 애널라이저가,The context analyzer, 상기 하이레벨 상황 추론 히스토리를 저장하고, 상기 저장된 히스토리에 따라 트래킹을 이행하는 컨텍스트 트래커;A context tracker that stores the high level situation reasoning history and implements tracking in accordance with the stored history; 를 더 포함함을 특징으로 하는 유비쿼터스 서비스 시스템. Ubiquitous service system characterized in that it further comprises. 제3항에 있어서,The method of claim 3, 상기 컨텍스트 서비스 프로바이더가,The context service provider, 상기 유비쿼터스 서비스를 제공하는 서비스 모듈 및 디바이스와 서비스 제공 상태정보를 동기화하여,By synchronizing service provision status information with a service module and device providing the ubiquitous service, 상기 하이레벨 상황인식결과에 따라 실제 제공할 수 있는 유비쿼터스 서비스를 결정할 수 있게 하는 동기화부;A synchronization unit for determining a ubiquitous service that can be actually provided according to the high level situation recognition result; 를 더 포함함을 특징으로 하는 유비쿼터스 서비스 시스템. Ubiquitous service system characterized in that it further comprises. 제1항에 있어서, The method of claim 1, 상기 온톨로지 레파지토리 장치가, The ontology repository device, 클라이언트와의 인터페이스를 제공하는 클라이언트 API 모듈;A client API module for providing an interface with a client; 상기 클라이언트 API 모듈을 통해 서브젝트 노드, 프리디케이트 노드, 오브젝트 노드로 구성되는 트리플 데이터 구조인 인스턴스의 등록이 요청되면, 상기 인스턴스에 대한 트리플 ID를 부여하고, 상기 인스턴스를 구성하는 노드들을 추출하여 각 노드에 대한 노드 ID를 부여하고, 상기 노드들에 대한 노드 데이터들을 상기 노드 ID들을 포함하는 제1참조정보에 대응시켜 노드 데이터 정보에 저장하고, 상기 노드들에 대한 노드 ID들과 상기 트리플 ID를 포함하는 제2참조정보에 대응시켜 노드 ID 정보에 저장하여 상기 인스턴스의 등록을 이행하고, When a request for registration of an instance, which is a triple data structure consisting of a subject node, a predicate node, and an object node, is requested through the client API module, a triple ID is assigned to the instance, and nodes constituting the instance are extracted. Assigns node IDs for the nodes, stores node data for the nodes in node data information corresponding to the first reference information including the node IDs, and includes node IDs and the triple IDs for the nodes. Register the instance by storing the information in the node ID information corresponding to the second reference information 트리플 ID를 포함하는 인스턴스의 찾기가 요청되면, 상기 제2참조정보를 이용하여 상기 트리플 ID에 대응되는 노드 ID들을 검색하고, 상기 제1참조정보를 이용하여 상기 노드 ID들에 대응되는 노드 데이터들을 리드하고, 상기 리드된 노드 데이터들을 결합하여 인스턴스로서 반환하는 레파지토리 서비스 모듈을 포함하는 레파지토리; When a search for an instance including a triple ID is requested, node IDs corresponding to the triple ID are searched using the second reference information, and node data corresponding to the node IDs are searched using the first reference information. A repository including a repository service module that reads and combines the read node data and returns as an instance; 을 포함하는 것을 특징으로 하는 유비쿼터스 서비스 시스템. Ubiquitous service system comprising a. 제6항에 있어서, The method of claim 6, 상기 레파지토리가,The repository is 상기 레파지토리 서비스 모듈로부터 상기 트리플 ID와 상기 인스턴스를 제공받아, 상기 상황정보의 노드들 각각에 대해 데이터를 키로 상기 트리플 ID를 값으로 인버트하여 각 노드에 대한 인덱스 데이터를 생성하고 상기 인덱스 데이터를 B- Tree 인덱스 정보에 등록하고, The triple ID and the instance are provided from the repository service module, and the index data for each node is generated by inverting the triple ID with a data key as a value for each node of the context information and generating the index data B-. Register in Tree index information, 상기 인스턴스의 노드들 중 하나 이상에 대해, 노드 데이터의 일부 또는 전체로 구성되는 검색어를 포함하는 인스턴스 찾기 명령이 입력되면, 상기 인스턴스 찾기 명령이 입력되면, 상기 인스턴스 찾기 명령에 포함된 검색어를 포함하는 인덱스 데이터를 상기 B-Tree 인덱스 정보에서 검색하고, 상기 검색된 인덱스 데이터에 포함된 트리플 ID를 상기 레파지토리 서비스 모듈로 제공하는 인덱스 서비스 모듈When an instance find command is input for one or more of the nodes of the instance, the search term including a search word composed of all or part of the node data is input. When the instance find command is input, the search word included in the instance find command is included. Index service module for retrieving index data from the B-Tree index information and providing the triple ID included in the retrieved index data to the repository service module. 을 더 포함하는 것을 특징으로 하는 유비쿼터스 서비스 시스템. Ubiquitous service system characterized in that it further comprises. 제6항에 있어서, The method of claim 6, 상기 레파지토리에는 노드 데이터와 프리픽스 데이터를 대응시켜 저장하는 네임 스페이스 정보가 부가되며, Namespace information for storing node data and prefix data in association with each other is added to the repository. 상기 레파지토리 서비스 모듈이, 상기 노드 데이터의 등록시에 상기 네임 스페이스 정보에 따라 상기 노드 데이터를 프리픽스 데이터로 변환하여 저장하고, The repository service module converts and stores the node data into prefix data according to the namespace information at the time of registration of the node data, 상기 노드 데이터의 찾기 요청시에는 프리픽스 데이터로 변환되었던 노드 데이터를 원래의 노드 데이터로 복원함을 특징으로 하는 유비쿼터스 서비스 시스템.The ubiquitous service system, characterized in that for retrieving the node data, restores node data converted to prefix data to original node data. 제6항에 있어서, The method of claim 6, 상기 노드 데이터 정보와 상기 노드 ID 정보는 다수개가 모여 세그먼트를 구성하고, 상기 세그먼트 단위로 상기 제1 및 제2참조정보가 부가되어 저장됨을 특징으로 하는 유비쿼터스 서비스 시스템. And a plurality of the node data information and the node ID information form a segment, and the first and second reference information are added and stored in units of segments. 제6항에 있어서, The method of claim 6, 상기 레파지토리 서비스 모듈은 등록 요청된 트리플 데이터를 임시저장하였다가, 소정 수 이상이 되면 상기 레파지토리 등록을 이행함을 특징으로 하는 유비쿼터스 서비스 시스템. The repository service module temporarily stores the triple data requested for registration, and if more than a predetermined number, the repository service module performs the registration of the repository. 제7항에 있어서, The method of claim 7, wherein 상기 인덱스 서비스 모듈은, The index service module, 상기 B-Tree 인덱스 정보의 제한 크기를 초과하는 노드 데이터를 오버플로우 인덱스 정보에 저장함과 아울러, In addition to storing node data in excess of the limit size of the B-Tree index information in the overflow index information, 상기 오버플로우 인덱스 정보로의 연결정보를 상기 B-Tree 인덱스 정보에 부가함을 특징으로 하는 유비쿼터스 서비스 시스템. The ubiquitous service system, characterized in that the connection information to the overflow index information is added to the B-Tree index information. 제7항에 있어서, The method of claim 7, wherein 상기 인덱스 서비스 모듈은,The index service module, 상기 레파지토리 서비스 모듈로부터 상기 트리플 ID와 상기 트리플 데이터를 제공받아 임시저장한후, 일정 수 이상이 되면 상기 B-Tree 인덱스 정보에 등록함을 특징으로 하는 유비쿼터스 서비스 시스템. The ubiquitous service system, characterized in that after receiving the triple ID and the triple data from the repository service module and temporarily storing the triple ID and the triple data, and registers in the B-Tree index information when a predetermined number or more. 제7항에 있어서, The method of claim 7, wherein 상기 인덱스 서비스 모듈은, The index service module, 상기 노드 데이터를 미리 정해진 일반화 규칙에 따라 상기 노드 데이터를 일반화하여 저장하고, Generalizing and storing the node data according to a predetermined generalization rule, 상기 검색어를 포함하는 트리플 데이터 찾기 명령이 입력되면, 상기 검색어를 상기 일반화 규칙에 따라 일반화하고, 그 일반화된 검색어에 대해 상기 B-Tree 인덱스 정보에서 검색을 이행함을 특징으로 하는 유비쿼터스 서비스 시스템. When the triple data search command including the search word is input, the search term is generalized according to the generalization rule, and the search is performed on the B-Tree index information with respect to the generalized search term. 제6항에 있어서, The method of claim 6, 상기 클라이언트 API 모듈을 통해 입력 레파지토리 작업요청에 대한 스케줄링을 이행하는 레파지토리 서비스 관리 모듈;A repository service management module that performs scheduling for an input repository work request through the client API module; 상기 클라이언트 API 모듈 및 상기 레파지토리 서비스 관리 모듈 및 상기 레파지토리를 관리하는 매니저A manager for managing the client API module, the repository service management module, and the repository 를 더 포함하는 것을 특징으로 하는 유비쿼터스 서비스 시스템. Ubiquitous service system characterized in that it further comprises. 유비쿼터스 서비스 시스템을 위한 데이터 처리 방법에 있어서, In the data processing method for a ubiquitous service system, 센서가 다수 구비된 센서 그룹의 어느 하나 이상의 센서로부터 다양한 상태를 센싱한 센싱결과에 따른 이벤트 정보를 수신받는 제1단계;A first step of receiving event information according to a sensing result of sensing various states from at least one sensor of a sensor group including a plurality of sensors; 디바이스가 다수 구비된 디바이스 그룹의 어느 하나 이상의 디바이스로부터 동작상태에 따른 이벤트 정보를 수신받는 제2단계;A second step of receiving event information according to an operation state from any one or more devices in the device group including a plurality of devices; 상기 이벤트 정보를 수신받아 로우레벨 상황인지 판단정보를 토대로 로우레벨 상황인식을 이행하고, 로우레벨 상황인식결과와 상기 이벤트 정보를 조합하여 온톨로지 스키마에 부합되는 트리플 데이터 구조를 가지는 하나 이상의 인스턴스를 생성하고, 상기 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치에 저장하고, 상기 상황인식 정보의 처리를 요청하는 제3단계; Receive the event information and implement the low level situation recognition based on the low level situation determination information, and combines the low level situation recognition result and the event information to create one or more instances having a triple data structure conforming to the ontology schema Storing the at least one instance in the ontology repository device and requesting processing of the situation awareness information; 상기 상황인식 정보의 처리요청에 따라, 상기 상황인식 정보의 처리요청에 대응되는 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치로부터 독출하고, 상기 독출된 하나 이상의 인스턴스를 미리 정해둔 지식 베이스를 토대로 추론하여 하이레벨 상황인지를 이행하고,According to the request for processing the situational awareness information, one or more instances corresponding to the request for processing the situational awareness information are read from the ontology repository device, and the inferred one or more instances are deduced based on a predetermined knowledge base and have a high level. Fulfill the situation, 상기 하이레벨 상황인지결과에 대응되는 하나 이상의 서비스를 결정하고, 상기 결정된 하나 이상의 서비스를 제공하기 위한 하나 이상의 서비스 모듈 또는 하나 이상의 디바이스에 대한 제어명령을 생성하여 상기 하나 이상의 서비스 모듈 또는 하나 이상의 디바이스로 제공하는 제4단계;를 포함하며,Determine one or more services corresponding to the high level situation recognition result, and generate a control command for one or more service modules or one or more devices for providing the determined one or more services to the one or more service modules or one or more devices. Providing a fourth step; 상기 제3단계가,The third step, 상기 이벤트 정보를 스트림 형태로 수신받아 미리 정해진 필터정보에 따라 분류하고, 상기 분류된 이벤트 정보로부터 로우레벨 상황인지 판단정보에 따라 로우레벨 상황인지를 이행하고, 상기 로우레벨 상황인지 결과와 상기 분류된 이벤트 정보를 조합하여 상황인지 정보를 생성하는 전처리 단계와, Receiving the event information in the form of a stream and classifying according to predetermined filter information, and transitions from the classified event information to a low-level situation according to the low-level situation or determination information, and the result and the classified A preprocessing step of generating event awareness information by combining event information; 상기 상황인지 정보를 트리플 형식을 가지는 하나 이상의 인스턴스로 가공하고, 상기 하나 이상의 인스턴스를 온톨로지 레파지토리 장치에 저장하는 인스턴스 생성 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.And an instance generation step of processing the situation awareness information into one or more instances having a triple format and storing the one or more instances in an ontology repository device. 삭제delete 제15항에 있어서,The method of claim 15, 상기 제4단계가,The fourth step, 상기 상황인식 정보의 처리 요청에 따른 하나 이상의 인스턴스를 상기 온톨로지 레파지토리 장치로부터 독출하고, Read one or more instances according to the request for processing the situation awareness information from the ontology repository device, 다양한 다수의 개별 객체를 조합하여 의미를 부여시킨 후에 하이레벨 상황으로 정의한 지식정보가 다수 구비된 지식 베이스를 이용하여 상기 하나 이상의 인스턴스로부터 하이레벨 상황을 추론하거나, Infer a high level situation from the one or more instances by using a knowledge base equipped with a plurality of knowledge information defined as a high level situation after combining a plurality of individual objects to give meaning. 미리 정해둔 단순화된 룰에 따라 상기 하나 이상의 인스턴스로부터 하이레벨 상황을 추론하는 추론단계;An inference step of inferring a high level situation from the one or more instances according to a predefined simplified rule; 상기 하이레벨 상황인식결과에 대응되는 유비쿼터스 서비스를 결정하는 단계;를 구비함을 특징으로 하는 유비쿼터스 서비스 시스템의 데이터 처리방법.And determining a ubiquitous service corresponding to the high level situation recognition result. 제15항에 있어서, The method of claim 15, 상기 온톨로지 레파지토리 장치의 레파지토리 서비스 모듈이, 클라이언트 API 모듈을 통해 인스턴스의 등록이 요청되면, 상기 인스턴스에 대한 트리플 ID를 부여하고, 상기 인스턴스를 구성하는 노드들을 추출하여 각 노드에 대한 노드 ID를 부여하고, 상기 노드들에 대한 노드 데이터들을 상기 노드 ID들을 포함하는 제1참조정보에 대응시켜 노드 데이터 정보에 저장하고, 상기 노드들에 대한 노드 ID들과 상기 트리플 ID를 포함하는 제2참조정보에 대응시켜 노드 ID 정보에 저장하여 상기 인스턴스의 등록을 이행하는 단계;When a repository service module of the ontology repository device is requested to register an instance through a client API module, it gives a triple ID to the instance, extracts nodes constituting the instance, and gives a node ID to each node. And store node data for the nodes in node data information in correspondence with the first reference information including the node IDs, and correspond to node reference information for the nodes and second reference information including the triple ID. Storing the node ID information so as to register the instance; 상기 레파지토리 서비스 모듈이, 트리플 ID를 포함하는 인스턴스의 찾기가 요청되면, 상기 제2참조정보를 이용하여 상기 트리플 ID에 대응되는 노드 ID들을 검색하고, 상기 제1참조정보를 이용하여 상기 노드 ID들에 대응되는 노드 데이터들을 리드하고, 상기 리드된 노드 데이터들을 결합하여 인스턴스로서 반환하는 단계When the repository service module is requested to find an instance including a triple ID, the node service module searches for node IDs corresponding to the triple ID using the second reference information, and uses the first reference information to search for the node IDs. Reading node data corresponding to and combining the read node data into an instance; 를 포함하는 것을 특징으로 하는 유비쿼터스 서비스 시스템의 데이터 처리 방법. Data processing method of the ubiquitous service system comprising a. 제18항에 있어서, The method of claim 18, 상기 온톨로지 레파지토리 장치의 인덱스 서비스 모듈이, 상기 레파지토리 서비스 모듈로부터 상기 트리플 ID와 상기 트리플 데이터를 제공받아, 상기 트리플 데이터의 노드들 각각에 대해 데이터를 키로 상기 트리플 ID를 값으로 인버트하여 각 노드에 대한 인덱스 데이터를 생성하고 상기 인덱스 데이터를 B-Tree 인덱스 정보에 등록하는 단계;The index service module of the ontology repository device receives the triple ID and the triple data from the repository service module, inverts the triple ID into a data key for each of the nodes of the triple data, and inverts the triple ID into a value. Generating index data and registering the index data with B-Tree index information; 상기 인덱스 서비스 모듈이, 상기 트리플 데이터의 노드들 중 하나 이상에 대해, 노드 데이터의 일부 또는 전체로 구성되는 검색어를 포함하는 트리플 데이터 찾기 명령이 입력되면, 상기 트리플 데이터 찾기 명령이 입력되면, 상기 트리플 데이터 찾기 명령에 포함된 검색어를 포함하는 인덱스 데이터를 상기 B-Tree 인덱스 정보에서 검색하고, 상기 검색된 인덱스 데이터에 포함된 트리플 ID를 상기 레파지토리 서비스 모듈로 제공하는 단계If the index service module receives a triple data search command including a search word composed of part or all of node data for one or more of the nodes of the triple data, the triple data search command is input, and the triple Searching for index data including a search word included in a data search command in the B-Tree index information, and providing a triple ID included in the searched index data to the repository service module. 을 더 포함하는 것을 특징으로 하는 유비쿼터스 서비스 시스템의 데이터 처리 방법.Data processing method of the ubiquitous service system, characterized in that it further comprises. 제18항에 있어서, The method of claim 18, 상기 온톨로지 레파지토리 장치에는 노드 데이터와 프리픽스 데이터를 대응시켜 저장하는 네임 스페이스 정보가 부가되어 저장되며, The ontology repository device is added with name space information for storing node data and prefix data in association with each other. 상기 레파지토리 서비스 모듈이, 상기 노드 데이터의 등록시에 상기 네임 스페이스 정보에 따라 상기 노드 데이터를 프리픽스 데이터로 변환하여 저장하고, The repository service module converts and stores the node data into prefix data according to the namespace information at the time of registration of the node data, 상기 노드 데이터의 찾기 요청시에는 프리픽스 데이터로 변환되었던 노드 데이터를 원래의 노드 데이터로 복원함을 특징으로 하는 유비쿼터스 서비스 시스템의 데이터 처리 방법. And the node data, which has been converted to prefix data, is restored to the original node data when the node data search request is made.
KR1020080135413A 2008-12-29 2008-12-29 Ubiquitous service system and data process method therefor KR101027497B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080135413A KR101027497B1 (en) 2008-12-29 2008-12-29 Ubiquitous service system and data process method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080135413A KR101027497B1 (en) 2008-12-29 2008-12-29 Ubiquitous service system and data process method therefor

Publications (2)

Publication Number Publication Date
KR20100077471A KR20100077471A (en) 2010-07-08
KR101027497B1 true KR101027497B1 (en) 2011-04-07

Family

ID=42638818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080135413A KR101027497B1 (en) 2008-12-29 2008-12-29 Ubiquitous service system and data process method therefor

Country Status (1)

Country Link
KR (1) KR101027497B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101549548B1 (en) 2013-12-02 2015-09-02 주식회사 핸디소프트 Multiple sensor hub based sensing information sharing system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507472B1 (en) * 2013-04-24 2015-03-31 경기대학교 산학협력단 Apparatus and methdo for recommanding
KR102106010B1 (en) * 2014-06-16 2020-05-04 한국전자통신연구원 Apparatus and method for controlling of execution web of things mashup service

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060009788A (en) * 2004-07-26 2006-02-01 삼성전자주식회사 Apparutus and method for upnp-web service integrated middleware
KR20070009134A (en) * 2005-07-15 2007-01-18 주식회사 케이티 System and method for management of context data in ubiquitous computing environment
KR20080096859A (en) * 2007-02-23 2008-11-04 성균관대학교산학협력단 Ontology system for context-aware and method thereof and recording medium thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060009788A (en) * 2004-07-26 2006-02-01 삼성전자주식회사 Apparutus and method for upnp-web service integrated middleware
KR20070009134A (en) * 2005-07-15 2007-01-18 주식회사 케이티 System and method for management of context data in ubiquitous computing environment
KR20080096859A (en) * 2007-02-23 2008-11-04 성균관대학교산학협력단 Ontology system for context-aware and method thereof and recording medium thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101549548B1 (en) 2013-12-02 2015-09-02 주식회사 핸디소프트 Multiple sensor hub based sensing information sharing system

Also Published As

Publication number Publication date
KR20100077471A (en) 2010-07-08

Similar Documents

Publication Publication Date Title
US7823123B2 (en) Semantic system for integrating software components
Ding et al. Using ontologies in the semantic web: A survey
Kellou-Menouer et al. Schema discovery in RDF data sources
KR101027497B1 (en) Ubiquitous service system and data process method therefor
Xu et al. Application of rough concept lattice model in construction of ontology and semantic annotation in semantic web of things
KR101684579B1 (en) System and method for generating knowledge
Zhang et al. Constructing ontologies by mining deep semantics from XML Schemas and XML instance documents
Castano et al. Ontology-based interoperability services for semantic collaboration in open networked systems
Zhang et al. Knowledge representation and reasoning of XML with ontology
Missikoff et al. A Controlled Language for Semantic Annotation and Interoperability in e-Business Applications1
Liu et al. BIM-Based Organization of Inspection Data Using Semantic Web Technology for Infrastructure Asset Management
Li et al. Research on public health crisis early warning system based on context awareness
Huang et al. Adding context-awareness to knowledge management in modern enterprises
KR20160065372A (en) Human-like Knowledge Expansion and Verification System Using Structured Knowledge Information and Document Crwaling, Method, Recording Medium
Su et al. Distributed reasoning based on problem solver markup language (PSML): a demonstration through extended OWL
KR20190052980A (en) Device and method of processing recruitment information
Carmagnola Handling semantic heterogeneity in interoperable distributed user models
Kettouch et al. Semantic data management in smart cities
KR20100100175A (en) Context-aware reasoning system for personalized u-city services
Jiang et al. Personalized recommendation method of E-commerce based on fusion technology of smart ontology and big data mining
Sheng et al. Measuring semantic similarity in ontology and its application in information retrieval
KR100990445B1 (en) System and method for repository
Kalaiselvi Hot News Detection System Using Rule-Based Technique
Smirnov et al. Self-organizing resource network for traffic accident response
Gao Analysis of English Machine Translation Methods Based on Intelligent Fuzzy Decision Tree Algorithm

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