KR20130111047A - A hypergraph-based storage method for managing rdf version - Google Patents

A hypergraph-based storage method for managing rdf version Download PDF

Info

Publication number
KR20130111047A
KR20130111047A KR1020120033534A KR20120033534A KR20130111047A KR 20130111047 A KR20130111047 A KR 20130111047A KR 1020120033534 A KR1020120033534 A KR 1020120033534A KR 20120033534 A KR20120033534 A KR 20120033534A KR 20130111047 A KR20130111047 A KR 20130111047A
Authority
KR
South Korea
Prior art keywords
rdf
version
node
hypergraph
triple
Prior art date
Application number
KR1020120033534A
Other languages
Korean (ko)
Other versions
KR101380605B1 (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 KR1020120033534A priority Critical patent/KR101380605B1/en
Publication of KR20130111047A publication Critical patent/KR20130111047A/en
Application granted granted Critical
Publication of KR101380605B1 publication Critical patent/KR101380605B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A hyper-graph base RDF version management method is provided to reduce the necessary size for storage and fasten the version generation, by including a hyper-edge into a node corresponding to an RDF triple using a hyper-graph structure. CONSTITUTION: Resource description framework (RDF) data, in which different versions are given, is received (S10). The RDF data includes a triple. A node group which includes all triples determines the said triple as one node and all RDF data is an arterial set (S20). One RDF data set is an element of the arterial set and is a set of nodes corresponding to the triple where the RDF data set belongs. A hyper-graph which includes the node group and the arterial set is generated (S30). The hyper-graph is stored as a bipartite graph (S40). [Reference numerals] (AA) Start; (BB) End; (S10) Input RDF data; (S20) Organize the RDF data with a node group and a trunk group; (S30) Turn the node group and the trunk group into a hyper graph; (S40) Store the hyper graph as a bipartite graph; (S50) Optimize the hyper graph; (S60) Search for the RDF data upon request and return

Description

하이퍼 그래프 기반 RDF 버전 관리 방법 { A Hypergraph-based Storage Method for Managing RDF Version }A Hypergraph-based Storage Method for Managing RDF Version}

본 발명은 RDF 데이터를 하이퍼 그래프로 구성하여 버전을 관리하는 하이퍼 그래프 기반 RDF 버전 관리 방법에 관한 것이다.
The present invention relates to a hypergraph-based RDF version control method for managing the version by configuring the RDF data into a hypergraph.

RDF(Resource Description Framework)는 W3C(World Wide Web Consortium)에 의해 웹 자원의 메타 정보를 표현하기 위한 표준으로 제정되었다. RDF는 간단한 데이터 모델, 잘 정의된 의미, 입증 가능한 추론등을 가지기 때문에 많은 웹 사이트들에서 자신의 데이터들을 RDF 형식을 사용하여 배포하고 있다[문헌 1].The Resource Description Framework (RDF) was established by the World Wide Web Consortium (W3C) as a standard for expressing meta information of web resources. Because RDF has a simple data model, well-defined semantics, and demonstrable inference, many Web sites distribute their data using the RDF format [Ref. 1].

하지만 RDF 데이터는 시간이 지남에 따라 변화한다[문헌 2]. 도메인의 자체 정보(또는 현실 세계 정보)가 변화함에 따라 이를 모델링하는 RDF 역시 변화해야 한다. 이것은 데이터베이스의 정보가 변화하는 것과 같다. 그리고, 사용자의 요구에 의해 변화할 수 있다. 일반적으로 RDF 데이터는 다수의 사용자에 의해 분산적이고 협업을 요구하는 환경에서 개발된다. 따라서 RDF 버전을 저장하고 관리하는 것은 시맨틱 웹 어플리케이션, 링크드 오픈 데이터(Linked Open Data), E-Commerce와 같은 RDF 데이터를 사용하는 어플리케이션에 있어서 매우 중요하다.RDF data, however, changes over time [Ref. 2]. As the domain's own information (or real-world information) changes, so do the RDFs that model it. This is like changing information in the database. And it can change according to a user's request. In general, RDF data is developed in a distributed and collaborative environment by many users. Therefore, storing and managing RDF versions is very important for applications that use RDF data such as semantic web applications, linked open data, and e-commerce.

RDF 버전 관리의 주요 역할은 다양한 RDF 버전을 저장하고 버전들간의 차이를 보여주는 것이다. 또한, 사용자가 편리하게 다른 버전에 쉽게 접근할 수 있게 해주어야 한다.The main role of RDF version management is to store various RDF versions and to show the differences between them. Also, make sure that the user can easily access other versions.

SemVersion[문헌 3]과 PromptDiff[문헌 4]와 같은 이전 연구들은 다양한 버전에 어떻게 접근할 수 있는지 혹은 버전들간의 차이점을 어떻게 찾는 지만 초점을 두고 있다. 하지만, 이전 방법들은 버전을 지원하기 위한 저장 공간을 고려하지 않고 있다. 저장 공간과 새로운 버전을 생성하기 위한 생성 시간은 버전 관리 시스템에 있어서 중요한 고려 사항중의 하나이다.Previous studies, such as SemVersion [3] and PromptDiff [4], focus only on how to access the various versions or how to find differences between them. However, previous methods do not consider storage space to support versions. The storage space and the creation time for creating a new version are one of the important considerations in a version control system.

저장 공간을 줄이기 위해 변경 기반(Delta-based, DB)[문헌 5,6]과 부분-관계 기반의 방법(Partial Order Index, POI)[문헌 7]이 제안되었다. 하지만 이러한 방법들은 여전히 문제점을 가지고 있다.In order to reduce the storage space, a change-based (Delta-based, DB) [5, 6] and a partial-relational-based method (Partial Order Index, POI) [7] have been proposed. However, these methods still have problems.

예를 들면, 변경 기반 방법(DB)은 버전이 아닌 한 개의 버전과 버전 사이의 변경 부분만을 저장한다. 따라서 버전을 생성하기 위해서는 연속적인 변경 부분을 실행시켜야 한다. 이 방법의 문제점은 버전이 증가하여 변경 부분이 증가하면 버전 생성 시간이 증가한다는 것이다.For example, the change-based method (DB) stores only one version and the part of the change between versions, not the version. Therefore, in order to create a version, you must execute a series of changes. The problem with this method is that the version creation time increases as the number of changes increases as the version increases.

다른 한편으로, 부분-관계(POI)는 변경 기반 방법보다 적은 저장 공간을 요구한다. 특히 새로 생성되는 버전이 기존 버전의 상위 버전(Super)이거나 하위 버전(sub)일 경우 훨씬 적은 저장 공간을 차지한다. 하지만 이 방법은 새로 생성되는 버전이 삽입과 삭제가 동시에 발생하는 일반적인 경우에는 적용할 수 없는 문제점을 가지게 된다(삽입과 삭제가 동시에 일어나면 부분 관계를 벗어나게 된다).
On the other hand, partial-relationships (POIs) require less storage space than change based methods. In particular, if the newly created version is a super version or a sub version of the existing version, it takes up much less storage space. However, this method has a problem that cannot be applied in the general case where the newly created version simultaneously inserts and deletes (if the insert and delete occur at the same time, it breaks the partial relationship).

다음으로, RDF 데이터 모델에 대하여 보다 구체적으로 설명한다.Next, the RDF data model will be described in more detail.

RDF 그래프는 2개의 자원(resource)들 사이의 이중 관계(binary relationship)를 나타내는 트리플들의 집합이다. 각 트리플들은 주어(Subject), 서술어(Property or predicate), 목적어(Object)로 표현된다[문헌 1]. 리소스(즉, 주어)는 일반적으로 URI (Uniform Resource Identifier)로 표현되며, 서술어는 리소스의 타입이며 목적어는 특정 주어를 위한 리소스 타입의 값을 의미한다. 목적어의 값은 URI를 가지거나 혹은 리터럴이라 불리는 문자열을 가질 수 있다.The RDF graph is a set of triples representing a binary relationship between two resources. Each triple is represented by a subject, a property or predicate, and an object [Ref. 1]. A resource (ie, a subject) is generally expressed as a Uniform Resource Identifier (URI), where the descriptor is the type of resource and the object is the value of the resource type for a particular subject. The value of the object can have a URI or a string called a literal.

주된 RDF 변화는 트리플의 삽입과 삭제이다 [문헌 8]. 갱신은 삭제와 삽입 연산으로 나타낼 수 있다. 즉, 트리플을 삭제하고 새로운 트리플을 삽입하면 갱신 연산이 된다. 일반적으로 이러한 연산은 RDF 버전 관리 분야에서 많이 사용되고 있다. 따라서 RDF 버전 RVi 는 주어, 서술어, 목적어로 구성된 트리플 집합으로 구성되며 t ∈ RVi 로 표현한다. 단, t는 트리플을 의미한다.
The main RDF change is the insertion and deletion of triples [8]. Updates can be represented by delete and insert operations. In other words, deleting a triple and inserting a new triple is an update operation. In general, these operations are widely used in RDF version control. Thus, the RDF version RV i consists of a triple set of subject, predicate and object words, expressed as t ∈ RV i . T means triple.

다음으로, RDF 데이터 버전을 저장하는 종래의 방법들에 대하여 보다 구체적으로 설명한다. 즉, RDF 버전을 위한 3가지 저장 방법에 대해 설명한다. 각각의 기법들은 모든 스냅샷(AS), 변경 기반(DB), 부분-관계 기반(POI)으로 지칭하는 걸로 한다 [문헌 3-7]. Next, the conventional methods of storing the RDF data version will be described in more detail. That is, three storage methods for the RDF version will be described. Each technique is supposed to refer to all snapshots (AS), change based (DB), and partial-relational based (POI) [Refs. 3-7].

스냅샷(AS) 방법[문헌 3,4]은 각 버전을 독립된 다른 저장소에 저장을 한다. 이러한 기법은 여러 버전 사이의 질의-응답과 버전 사이의 차이점을 찾아내는 것에 초점을 둔다. 모든 버전을 따로 저장을 하였기 때문에 버전 사이의 변경 부분을 찾기 위해서 매번 계산을 해야 한다. 또한, 이 방법들은 저장 공간을 고려하지 않았다. 다시 말해 독립된 저장소에 저장을 하기 때문에 중복되는 데이터들이 기하급수적으로 많아지는 단점을 가지게 된다.The snapshot (AS) method [3,4] stores each version in a separate, separate repository. This technique focuses on finding the differences between versions and query-response between versions. Since all versions are saved separately, you need to calculate each time to find the change between versions. In addition, these methods did not consider storage space. In other words, since the data is stored in an independent storage, the overlapping data is exponentially increased.

변경 기반(DB) 방법[문헌 5,6]은 서로 다른 버전을 구축하기 위해 변경된 부분과 이를 위한 에디터 연산(삽입과 삭제 연산)만을 저장을 한다. 일반적으로 이 방법은 최종 버전을 저장하고 이전 버전들은 변경된 부분만을 저장한다. 특정 버전은 에디터 연산을 역으로 수행하여 생성된다. 하지만 이 방법들은 버전을 생성하는데 효율적이지 않다. 버전이 많아질수록 계산해야 할 변경된 부분이 많아지고 이는 합집합고 차집합 같은 연산을 요구하기 때문이다. The change based (DB) method [Refs. 5, 6] stores only the changed parts and the editor operations (insert and delete operations) for them to build different versions. In general, this method saves the last version and the previous versions only save the changes. The specific version is created by inverting the editor operation. However, these methods are not efficient for generating versions. The more versions you have, the more changes you need to calculate, which requires operations like union and difference.

부분-관계 기반(POI) 방법[문헌 7]은 RDF 버전을 지원하는 저장소의 저장 공간에 초점을 두었다. 이 방법은 상당한 저장 공간의 이점을 제공하며 효율적인 버전 삽입 알고리즘을 제공한다. 이 저장 방법은 트리플 집합의 부분 관계에 기반하기 때문에 새로운 버전이 상위거나 하위 집합일 경우에만 이득을 얻을 수 있다. 하지만 새로운 버전은 삽입과 삭제가 동시에 일어나기 때문에 상위거나 하위 집합일 수가 없다. 또한 특정 버전을 생성하기 위해 이 방법은 POI 그래프에서 주어진 노드의 모든 부모 노들들을 탐색해야 하는 단점을 가지고 있다.
The partial-relational based (POI) method [7] focused on the storage space of repositories that support RDF versions. This method provides significant storage space benefits and provides an efficient version insertion algorithm. Because this storage method is based on a partial relationship of a triple set, you can only benefit if the new version is a higher or a lower subset. However, the new version cannot be a parent or a subset because the insert and delete occur at the same time. Also, to generate a specific version, this method has the disadvantage of searching all the parent nodes of a given node in the POI graph.

Klyne, G. and Carroll, J.J. Resource Description Framwork (RDF): concepts and abstract syntax. W3C Recommendation. http://www.w3c.org/TR/rdf-concepts. Klyne, G. and Carroll, J.J. Resource Description Framwork (RDF): concepts and abstract syntax. W3C Recommendation. http://www.w3c.org/TR/rdf-concepts. Flouris, G., Manakanatas, D., Kondylakis, H., Plexousakis D., and Antoniou, G. 2008. Ontology change: classification and survey. The Knowledge Engineering Review. 23, 2 (June, 2008), 117-152Flouris, G., Manakanatas, D., Kondylakis, H., Plexousakis D., and Antoniou, G. 2008. Ontology change: classification and survey. The Knowledge Engineering Review. 23, 2 (June, 2008), 117-152 Volkel, M. and Groza, G. 2006. SemVersion: An RDF-based ontology versioning system. In Proceedings of the 5th IADIS International Conference on WWW/InternetVolkel, M. and Groza, G. 2006. SemVersion: An RDF-based ontology versioning system. In Proceedings of the 5th IADIS International Conference on WWW / Internet Noy, N. F. and Musen, M. A. 2004. Ontology versioning in an ontology management framework. IEEE Intelligent Systems. 19, 4 (July, 2004), 6-13Noy, N. F. and Musen, M. A. 2004. Ontology versioning in an ontology management framework. IEEE Intelligent Systems. 19, 4 (July, 2004), 6-13 Tichy, W. F. 1985. RCS- a system for version control. Software Practice & Experience. 15, 7 (July, 1985), 637-654Tichy, W. F. 1985. RCS- a system for version control. Software Practice & Experience. 15, 7 (July, 1985), 637-654 Zeginiz, D., Tzitzikas, Y. and Christophides, V. 2007. On the foundation of computing deltas between RDF models. In Proceedings of 6th International Semantic Web Conference.Zeginiz, D., Tzitzikas, Y. and Christophides, V. 2007. On the foundation of computing deltas between RDF models. In Proceedings of 6th International Semantic Web Conference. Tzitzikas, Y., Theoharis, Y., and Andreou, D. 2008. On Storage Policies for Semantic Web Repositories that Support Versioning. In Proceedings of the 5th European Semantic Web ConferenceTzitzikas, Y., Theoharis, Y., and Andreou, D. 2008. On Storage Policies for Semantic Web Repositories that Support Versioning. In Proceedings of the 5th European Semantic Web Conference Ognyanov, D. and Kiryakov, A. 2002. Tracking changes in RDF(S) repositories. In Proceedings of International Conference on Knowledge Engineering and Knowledge Management.Ognyanov, D. and Kiryakov, A. 2002. Tracking changes in RDF (S) repositories. In Proceedings of International Conference on Knowledge Engineering and Knowledge Management. Berge, C. Graphs and Hypergraphs, North-Holland Publisher, Amsterdam, 1973. Berge, C. Graphs and Hypergraphs, North-Holland Publisher, Amsterdam, 1973. Wu, G., Li, J. and Wang., K. 2008. System Π: A hypergraph based native RDF repository. In Proceedings of WWW ConferenceWu, G., Li, J. and Wang., K. 2008. System Π: A hypergraph based native RDF repository. In Proceedings of WWW Conference

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, RDF 데이터를 하이퍼 그래프로 구성하여 버전을 관리하여, 효율적인 저장 공간을 보이며 버전 생성 역시 빠르게 할 수 있는 하이퍼 그래프 기반 RDF 버전 관리 방법을 제공하는 것이다.
SUMMARY OF THE INVENTION An object of the present invention is to solve the problems described above, and to provide a hypergraph-based RDF version control method that can manage the version by configuring the RDF data as a hypergraph, showing efficient storage space and also faster version generation. It is.

상기 목적을 달성하기 위해 본 발명은 RDF 데이터를 하이퍼 그래프로 구성하여 버전을 관리하는 하이퍼 그래프 기반 RDF 버전 관리 방법에 관한 것으로서, (a) 서로 다른 버전이 부여된 다수의 RDF 데이터를 입력받되, 상기 RDF 데이터는 적어도 하나 이상의 트리플로 구성되는 단계; (b) 상기 트리플을 하나의 노드로서 정하여 모든 트리플을 포함하는 노드 집합을 구성하고, 상기 모든 RDF 데이터를 간선 집합으로 구성하되, 하나의 RDF 데이터는 상기 간선 집합의 하나의 원소로서 자신에 속하는 트리플에 대응되는 노드의 집합으로 구성되는 단계; (c) 상기 노드 집합과 상기 간선 집합을 포함하는 하나의 하이퍼그래프로 구성하는 단계; 및, (d) 상기 하이퍼그래프를 이분 그래프(bipartite graph)로 저장하는 단계를 포함하는 것을 특징으로 한다.
In order to achieve the above object, the present invention relates to a hypergraph-based RDF version management method for managing a version by configuring the RDF data into a hypergraph, (a) receiving a plurality of RDF data given different versions, The RDF data consists of at least one triple; (b) designating the triple as one node to construct a node set including all triples, and configuring all the RDF data into a trunk set, wherein one RDF data belongs to a triple as one element of the trunk set; Comprising a set of nodes corresponding to; (c) constructing one hypergraph including the node set and the edge set; And (d) storing the hypergraph as a bipartite graph.

상술한 바와 같이, 본 발명에 따른 하이퍼 그래프 기반 RDF 버전 관리 방법에 의하면, RDF 데이터을 버전별로 저장하는 공간을 줄여주고, RDF 데이터의 버전을 빠르게 생성할 수 있는 효과가 얻어진다.As described above, according to the hypergraph-based RDF version management method according to the present invention, it is possible to reduce the space for storing the RDF data for each version, and to quickly generate a version of the RDF data.

즉, 본 발명은 기존 버전 관리 시스템의 문제점들을 찾아내어 극복한 것으로서, 상기 문제점 중 하나는 저장 공간 오버헤드이고 다른 하나는 새로운 버전을 생성하기 위한 계산 시간이다.That is, the present invention finds and overcomes the problems of the existing version control system, one of which is storage space overhead and the other is computation time for creating a new version.

또한, 본 발명은 RDF 버전을 위한 하이퍼그래프 기반의 저장 방법을 제안함으로써, 즉, 하이퍼그래프 구조를 이용하며 RDF 트리플에 해당되는 노드를 하이퍼에지가 포함하도록 함으로써, 하이퍼그래프 기반의 방법에 의해 저장 공간을 줄여주고, 또한 버전 생성을 빠르게 해준다.In addition, the present invention proposes a hypergraph-based storage method for the RDF version, that is, by using a hypergraph structure and including a node corresponding to the RDF triple by the hyperedge, the storage space by the hypergraph-based method It also reduces the cost and speeds up version creation.

특히, 실험을 통하여, 소요되는 저장공간 및 시간 측면에서, 본 발명은 종래의 기술인 스냅샷(AS), 변경 기반(DB), 부분-관계 기반(POI) 등의 방법에 비하여, 훨씬 우수함을 보여준다.
In particular, through experiments, the present invention shows that the present invention is much superior to the conventional techniques such as snapshot (AS), change based (DB), and partial-relational based (POI). .

도 1은 본 발명을 실시하기 위한 전체 시스템의 구성을 도시한 것이다.
도 2는 본 발명에 따른 하이퍼그래프의 일례를 도시한 것이다.
도 3은 본 발명의 일실시예에 따른 하이퍼 그래프 기반 RDF 버전 관리 방법을 설명하는 흐름도이다.
도 4는 본 발명에 따른 RDF 데이터 버전의 일례이다.
도 5는 본 발명에 따른 RDF 데이터를 하이퍼그래프로 표시한 일례이다.
도 6은 본 발명과 종래 기술(부분-관계 기반 방법)과의 비교를 나타낸 것이다.
도 7은 본 발명에 따른 하이퍼그래프 표현 방식을 도시한 것이다.
도 8은 본 발명에 따른 클래스 다이어그램과 관계형 데이터베이스 스키마의 일례를 도시한 것이다.
도 9는 본 발명에 따른 최적화 방법의 일례를 도시한 것이다.
도 10은 본 발명의 일 실험에 따른 실제 데이터 셋의 속성을 나타낸 표이다.
도 11은 본 발명의 일 실험에 따른 저장 공간 오버헤드에 대한 본 발명과 종래 기술의 비교 그래프이다.
도 12는 본 발명의 일 실험에 따른 버전 생성 시간에 대한 본 발명과 종래 기술의 비교 그래프이다.
1 shows the configuration of an entire system for implementing the present invention.
2 shows an example of a hypergraph according to the present invention.
3 is a flowchart illustrating a hypergraph-based RDF version control method according to an embodiment of the present invention.
4 is an example of an RDF data version in accordance with the present invention.
5 is an example in which the RDF data according to the present invention is displayed in a hypergraph.
6 shows a comparison between the present invention and the prior art (partial-relationship based method).
7 illustrates a hypergraph presentation method according to the present invention.
8 shows an example of a class diagram and a relational database schema in accordance with the present invention.
9 shows an example of an optimization method according to the invention.
10 is a table showing the attributes of an actual data set according to an experiment of the present invention.
11 is a comparison graph of the present invention and the prior art for the storage space overhead according to an experiment of the present invention.
12 is a comparison graph of the present invention and the prior art for the version generation time according to an experiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
In the description of the present invention, the same parts are denoted by the same reference numerals, and repetitive description thereof will be omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성의 예들에 대하여 도 1을 참조하여 설명한다.First, examples of the configuration of the entire system for carrying out the present invention will be described with reference to Fig.

도 1a 또는 도 1b에서 보는 바와 같이, 본 발명에 따른 RDF 버전 관리 방법은 컴퓨터 프로그램으로 구현되어 서버 또는 컴퓨터 단말 장치에 설치되어 실시될 수 있다. 즉, 본 발명을 실시하기 위한 전체 시스템은 네트워크 상의 서버 시스템 또는 컴퓨터 단말 상의 프로그램 시스템으로 실시될 수 있다. 본 발명에 따른 RDF 버전 관리 방법이 서버, 컴퓨터 단말 등 컴퓨팅 장치에 설치되어 실행되는 시스템을 RDF 버전 관리 시스템이라 부르기로 한다.As shown in FIG. 1A or 1B, the RDF version management method according to the present invention may be implemented as a computer program and installed in a server or a computer terminal device. That is, the entire system for practicing the present invention may be implemented as a server system on a network or a program system on a computer terminal. The system in which the RDF version management method according to the present invention is installed and executed in a computing device such as a server or a computer terminal will be referred to as an RDF version management system.

도 1a와 같이, 본 발명의 실시를 위한 전체 시스템의 일례는 사용자 단말(10)과 RDF 버전 관리 시스템(30)으로 구성되고 서로 네트워크(20)로 연결된다. 또, 필요한 데이터를 저장하기 위한 데이터베이스(40)를 더 구비할 수 있다.As shown in FIG. 1A, an example of an overall system for implementing the present invention is composed of a user terminal 10 and an RDF version management system 30 and connected to each other via a network 20. It is also possible to further include a database 40 for storing necessary data.

사용자 단말(10)은 RDF 데이터를 서버 또는 관리 시스템(30)에 올리거나 관리 시스템(30)으로부터 RDF 데이터를 수신하여 이용하는 단말로서, 사용자가 이용하는 PC, 노트북, 넷북, PDA, 모바일 등의 통상의 컴퓨팅 단말기이다.The user terminal 10 is a terminal that uploads RDF data to a server or management system 30 or receives and uses RDF data from the management system 30. The user terminal 10 may be used by a user such as a PC, a notebook computer, a netbook, a PDA, a mobile device, and the like. Computing terminal.

RDF 버전 관리 시스템(30)은 통상의 서버로서 네트워크(20)에 연결되어 RDF 데이터 또는 RDF 데이터의 버전을 저장하고 관리하는 서비스를 제공한다.The RDF version management system 30 is connected to the network 20 as a conventional server to provide a service for storing and managing RDF data or versions of RDF data.

데이터베이스(40)는 RDF 버전 관리 시스템(30)에서 필요한 데이터를 저장하는 통상의 저장매체로서, RDF 데이터 등을 하이퍼그래프 형태로 저장한다.The database 40 is a conventional storage medium for storing data required by the RDF version management system 30, and stores RDF data and the like in a hypergraph form.

도 1b와 같이, 본 발명의 실시를 위한 전체 시스템의 다른 예는 컴퓨터 단말(13)에 설치되는 프로그램 형태의 RDF 버전 관리 시스템(30)으로 구성된다. 즉, RDF 버전 관리 시스템(30)의 각 기능들은 컴퓨터 프로그램으로 구현되어 컴퓨터 단말(13)에 설치되어, 사용자(14)에 의해 RDF 데이터 또는 RDF 버전 데이터 등을 컴퓨터 단말(13)의 입력장치를 통해 입력받거나, 컴퓨터 단말(13)의 저장장치 또는 외부 저장장치(네트워크 저장장치 포함)에 저장된 데이터를 입력받는다. 또한, RDF 버전 관리 시스템(30)은 요청된 RDF 버전 등을 컴퓨터 단말(13)의 출력장치를 통해 출력한다. 한편, RDF 버전 관리 시스템(30)에서 필요한 데이터들은 컴퓨터 단말(13)의 하드디스크 등 저장공간에 저장되어 이용된다.
As shown in FIG. 1B, another example of the entire system for implementing the present invention is composed of an RDF version management system 30 in the form of a program installed in the computer terminal 13. That is, each function of the RDF version management system 30 is implemented as a computer program and installed in the computer terminal 13 so that the user 14 receives the RDF data or the RDF version data, etc. by the input device of the computer terminal 13. It receives the data stored in the storage device or the external storage device (including network storage device) of the computer terminal 13 or received. In addition, the RDF version management system 30 outputs the requested RDF version and the like through the output device of the computer terminal 13. Meanwhile, data necessary for the RDF version management system 30 is stored and used in a storage space such as a hard disk of the computer terminal 13.

다음으로, 본 발명에서 이용할 하이퍼그래프에 대한 도 2를 참조하여 보다 구체적으로 설명한다.Next, the hypergraph to be used in the present invention will be described in more detail with reference to FIG. 2.

하이퍼그래프는 그래프의 일반화 형태로 간선(edge)은 여러 개의 노드를 연결할 수 있다. [문헌 9]에 의하면, 하이퍼그래프 H = (V, E)이며 노드 집합 V = {v1, v2, …, vn}, 간선 집합 E = {E1, E2, …, En}를 갖는다. 하이퍼간선에서 각 간선 Ej 는 V가 적어도 하나 있어야 하며 모든 Ej 의 합집합은 V가 된다. 일반적인 그래프의 간선이 2개의 노드를 연결하는데 비해 하이퍼간선은 2개 이상의 노드를 연결한다. 예를 들면, 도 2는 6개의 노드 V = {v1, v2, v3, v4, v5, v6}와 4개의 하이퍼간선 E = {E1, E2, E3, E4}을 가지는 하이퍼그래프를 보여준다. 모든 하이퍼 간선이 K개의 노드를 가지면 K-uniform이라고 부른다. 일반적인 그래프는 2-uniform 하이퍼그래프이다.
Hypergraphs are a generalization of graphs, and edges can connect multiple nodes. According to Document 9, the hypergraph H = (V, E) and the node set V = {v 1 , v 2 ,... , v n }, edge set E = {E 1 , E 2 ,.. , E n }. In the hyper-edge, each edge E j must have at least one V, and the union of all E j is V. In general graph edges connect two nodes, whereas hyper edges connect two or more nodes. For example, FIG. 2 shows six nodes V = {v 1 , v 2 , v 3 , v 4 , v 5 , v 6 } and four hyperedges E = {E 1 , E 2 , E 3 , E 4 Show a hypergraph with}. If every hyper edge has K nodes, it is called K-uniform. A common graph is a 2-uniform hypergraph.

다음으로, 본 발명의 일실시예에 따른 하이퍼 그래프 기반 RDF 버전 관리 방법을 도 3을 참조하여 보다 구체적으로 설명한다.Next, a hypergraph-based RDF version management method according to an embodiment of the present invention will be described in more detail with reference to FIG. 3.

도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 하이퍼그래프 기반 RDF 버전 관리 방법은, (a) RDF 데이터를 입력받는 단계(S10); (b) RDF 데이터를 노드집합과 간선 집합으로 구성하는 단계(S20); (c) 노드집합 및 간선집합을 하이퍼그래프로 구성하는 단계(S30); (d) 하이퍼그래프를 이분 그래프로 구성하는 단계(S40)로 구성된다. 추가적으로, (e) 하이퍼그래프를 최적화하는 단계(S50); 또는 (f) RDF 데이터 요청에 따라 검색하여 반환하는 단계(S60)를 더 포함하여 구성될 수 있다.As shown in Figure 3, the hypergraph-based RDF version management method according to an embodiment of the present invention, (a) receiving the RDF data (S10); (b) organizing the RDF data into a node set and a trunk set (S20); (c) constructing the node set and the trunk set as a hypergraph (S30); (d) a step S40 of constructing the hypergraph into a bipartite graph. In addition, (e) optimizing the hypergraph (S50); Or (f) searching and returning according to the RDF data request (S60).

먼저, RDF 데이터를 입력받는 단계(S10)를 설명한다.First, step S10 of receiving RDF data will be described.

즉, 서로 다른 버전이 부여된 다수의 RDF 데이터를 입력받는다(S10). 상기 RDF 데이터는 적어도 하나 이상의 트리플로 구성된다.That is, a plurality of RDF data given different versions are received (S10). The RDF data is composed of at least one triple.

하나의 RDF(Resource Description Framework) 데이터는 하나 버전의 데이터로서, 적어도 하나 이상의 트리플로 구성된다. 상기 트리플은 주어(Subject), 서술어(Property or predicate), 목적어(Object)로 표현된다.One resource description framework (RDF) data is one version of data and is composed of at least one triple. The triple is represented by a subject, a property or predicate, and an object.

주어(또는 리소스)는 일반적으로 URI(Uniform Resource Identifier)로 표현되며, 서술어는 리소스(또는 주어)의 타입이며 목적어는 특정 주어를 위한 리소스 타입의 값을 의미한다. 목적어의 값은 URI를 가지거나 혹은 리터럴이라 불리는 문자열을 가질 수 있다.A subject (or resource) is generally expressed as a Uniform Resource Identifier (URI), where the descriptor is the type of resource (or subject) and the object means the value of the resource type for a particular subject. The value of the object can have a URI or a string called a literal.

또한, RDF 데이터의 버전 관리는 트리플의 삽입과 삭제 연산에 의해 수행될 수 있다. 갱신은 삭제와 삽입 연산으로 나타낼 수 있다. 즉, 트리플을 삭제하고 새로운 트리플을 삽입하면 갱신 연산이 된다. 따라서 RDF 버전 RVi 는 주어, 서술어, 목적어로 구성된 트리플 집합으로 구성되며 t ∈ RVi 로 표현한다. 단, t는 트리플을 의미한다.In addition, version management of the RDF data may be performed by triple insert and delete operations. Updates can be represented by delete and insert operations. In other words, deleting a triple and inserting a new triple is an update operation. Thus, the RDF version RV i consists of a triple set of subject, predicate and object words, expressed as t ∈ RV i . T means triple.

RDF 데이터의 예가 도 4와 같다. 도 4에는 4개의 RDF 데이터 버전 RV1 = {x, y}, RV2 = {x, y, z}, RV3 = {x, z}, 및 RV4 = {x, y, z}이다. x, y, z는 트리플(또는 트리플ID)를 나타낸다.
An example of RDF data is shown in FIG. 4, four RDF data versions RV 1 = {x, y}, RV 2 = {x, y, z}, RV 3 = {x, z}, and RV 4 = {x, y, z}. x, y, and z represent triple (or triple ID).

다음으로, 상기 트리플을 하나의 노드로서 정하여 모든 트리플을 포함하는 노드 집합을 구성하고, 상기 모든 RDF 데이터를 간선 집합으로 구성한다(S20). 이때, 하나의 RDF 데이터는 상기 간선 집합의 하나의 원소로서 자신에 속하는 트리플에 대응되는 노드의 집합으로 구성된다.Next, the triple is defined as one node to form a node set including all triples, and all the RDF data is configured as a trunk set (S20). At this time, one RDF data is composed of a set of nodes corresponding to a triple belonging to one of the trunk set.

또한, 간선 집합은 집합이므로, 동일한 트리플을 갖는 적어도 2개의 RDF 데이터는 하나의 원소로 정한다.In addition, since the edge set is a set, at least two RDF data having the same triple are set as one element.

앞서의 예에서, RDF 데이터 버전 RV1, RV2, RV3, RV4 에 포함되는 모든 트리플은 x, y, z 이다. 따라서 노드 집합은 {x, y, z}으로 구성된다.In the above example, all triples included in the RDF data versions RV 1 , RV 2 , RV 3 , and RV 4 are x, y, z. Thus, the node set consists of {x, y, z}.

또한, RV2 와 RV4 는 그 구성이 {x, y, z} 동일하므로, 간선 집합의 하나의 원소로 정한다. 따라서 RV1 는 원소 E1, RV2 와 RV4 는 원소 E2, RV3 는 원소 E3 으로 정한다. 즉, RV1 → E1 와 같이, 버전 ID를 하나의 하이퍼간선에 매핑을 한다.
Since RV 2 and RV 4 have the same configuration as {x, y, z}, they are determined as one element of the trunk line set. Therefore, RV 1 is defined as element E 1 , RV 2 and RV 4 as element E 2 , and RV 3 as element E 3 . That is, as in RV 1 → E 1 , the version ID is mapped to one hyper-edge.

다음으로, 상기 노드 집합과 상기 간선 집합을 포함하는 하나의 하이퍼그래프로 구성한다(S30).Next, one hypergraph including the node set and the edge set is configured (S30).

앞서의 예에서, 상기 노드 집합과 간선 집합을 포함하는 하이퍼그래프로 표현하면 [수학식 1]과 같다.In the above example, when expressed as a hypergraph including the node set and the edge set is represented by Equation 1.

[수학식 1][Equation 1]

V = {x, y, z},V = {x, y, z},

E = {E1, E2, E3} = {{x, y}, {x, y, z}, {x, z}}.E = {E 1 , E 2 , E 3 } = {{x, y}, {x, y, z}, {x, z}}.

또한, 이를 하이퍼그래프로 표시한 것이 도 5에 도시되고 있다.In addition, a hypergraph is shown in FIG. 5.

본 발명은 RDF 데이터를 위한 하이퍼그래프 기반의 버전 관리 방법이다. 이 방법의 기본 아이디어는 다음과 같다. 모든 RDF 버전 RV 는 하이퍼그래프로 표현될 수 있다. 어떤 RDF 버전 RVi 도 하이퍼간선에 매핑되며 모든 노드들은 RDF 트리플들을 포함하게 된다. 하이퍼그래프 기반의 방법은 직관적이고 매우 이해하기 쉽다.The present invention is a hypergraph-based version control method for RDF data. The basic idea of this method is: All RDF versions of RV can be represented in hypergraphs. Any RDF version RV i is mapped to the hyper trunk and all nodes will contain RDF triples. Hypergraph-based methods are intuitive and very easy to understand.

이해를 쉽게 하기 위해 도 6은 종래의 POI 방법과 본 발명(하이퍼그래프 기반, HB)에 따른 방법의 비교를 보여준다. 비록 POI 방법이 본 발명(HB 방법) 보다 트리플의 수가 적지만 POI는 노들들간의 간선이 필요하다. (도 6에서 RV2 ⊆ RV1). 따라서 POI는 POI 그래프 정보를 저장하기 위한 여분의 공간이 필요하다. 또한, 하이퍼그래프 기법에서는 이하에서 설명할 최적화 방법을 사용하면 도 6의 x는 오직 1번만 저장하면 된다.For ease of understanding, Figure 6 shows a comparison of the conventional POI method and the method according to the present invention (hypergraph based, HB). Although the POI method has fewer triples than the present invention (HB method), POI requires edges between the furnaces. (RV 2 ⊆ RV 1 in FIG. 6). Therefore, POI needs extra space for storing POI graph information. In addition, in the hypergraph technique, x of FIG. 6 needs to be stored only once using an optimization method described below.

본 발명은 여러 개의 버전을 고려한다. 또한, 본 발명의 하이퍼간선은 여러 개의 노드를 포함할 수 있다. 따라서 하이퍼그래프의 속성을 좀 더 유연하게 고려한다고 할 수 있다.
The present invention contemplates several versions. In addition, the hyper trunk of the present invention may include a plurality of nodes. Therefore, it is more flexible to consider the properties of the hypergraph.

다음으로, 상기 하이퍼그래프를 이분 그래프(bipartite graph)로 구현하여 저장한다(S40). 또는 상기 하이퍼그래프를 이분 그래프(bipartite graph) 대신 근접행렬(incidence matrix)로 구현하여 저장한다.Next, the hypergraph is implemented as a bipartite graph and stored (S40). Alternatively, the hypergraph is implemented by an incidence matrix instead of a bipartite graph and stored.

하이퍼그래프는 행렬로 표현될 수 있다. 모든 하이퍼그래프 H는 H의 하이퍼간선을 나타내는 m개의 행 과 H의 노드를 나타내는 n개의 열을 가진 m x n 행렬 A = (aij) 로 표현된다.Hypergraphs can be represented by matrices. All hypergraphs H are represented by an m-by-n matrix A = (a ij ) with m rows representing H's edges and n columns representing H's nodes.

즉, 행렬 A = (aij) 는 다음 [수학식 2]와 같이 표시될 수 있다.That is, the matrix A = (a ij ) can be expressed as Equation 2 below.

[수학식 2]&Quot; (2) "

Figure pat00001
Figure pat00001

앞서의 예를 [수학식 2]에 의한 근접행렬(incidence matrix)로 표시하면 도 7a에서 보는 바와 같다.If the above example is represented by an incidence matrix according to [Equation 2], it is as shown in Figure 7a.

다른 실시예로서, 하이퍼그래프 H는 2중 그래프(bipartite graph) BG로 표현 가능하다. 트리플 집합인 V와 하이퍼간선 E로 각각 BG의 한 부분을 나타내며 BG의 간선 (x, E1)은 노드 x가 하이퍼 간선 E1에 포함되어 있는 것을 나타낸다. 도 7b는 행렬과 2중 그래프 표현을 보여준다. 본 발명에서는 행렬 방법이 오직 dense 그래프에 유용하기 때문에 2중 그래프 방법을 사용하는 것이 바람직하다.In another embodiment, the hypergraph H may be represented by a bipartite graph BG. The triple set of V and hyper-edge E represents a part of BG, respectively, and the edge (x, E 1 ) of BG indicates that node x is included in hyper-edge E1. 7b shows a matrix and a double graph representation. Since the matrix method is only useful for dense graphs in the present invention, it is preferable to use the double graph method.

특히, 상기 하이퍼그래프는 클래스 다이어그램으로 모델링되어 저장된다. 상기 클래스 다이어그램은 노드 클래스와 간선 클래스로 구성되고, 상기 노드 클래스는 노드 아이디(ID) 및 트리플로 구성되고, 상기 간선 클래스는 간선 아이디(ID) 및 버전 아이디(ID)로 구성된다.In particular, the hypergraph is modeled and stored as a class diagram. The class diagram is composed of a node class and a trunk class, the node class is composed of a node ID (ID) and a triple, and the trunk class is composed of a trunk ID (ID) and a version ID (ID).

또한, 다른 실시예로서, 상기 하이퍼그래프는 관계형 데이터베이스로 모델링되어 저장된다. 상기 관계형 데이터베이스는 노드 테이블, 간선 테이블, 관계 테이블로 구성되고, 상기 노드 테이블은 노드 아이디(ID) 및 트리플로 구성되고, 상기 간선 테이블은 간선 아이디(ID) 및 버전 아이디(ID)로 구성되고, 상기 관계 테이블은 노드 아이디(ID) 및 간선 아이디(ID)로 구성된다.In another embodiment, the hypergraph is modeled and stored in a relational database. The relational database is composed of a node table, a trunk table, a relationship table, the node table is composed of a node ID (ID) and a triple, the trunk table is composed of a trunk ID (ID) and a version ID (ID), The relationship table is composed of a node ID and a trunk ID.

도 8은 본 발명에 따른 하이퍼그래프 기반 저장 방법의 클래스 다이어그램과 관계형 데이터베이스 스키마를 보여준다.8 shows a class diagram and a relational database schema of a hypergraph-based storage method in accordance with the present invention.

도 8a에서 보는 바와 같이, 클래스 Vertex는 하이퍼그래프 H의 노드를 표현하며 4개의 필드를 갖는다(Id, Subject, Predicate, Object). ID (트리플 ID)는 노드를 식별하는데 사용되며 다른 필드는 트리플을 표현한다. 하이퍼간선 클래스는 ID와 Version ID 2개의 필드로 구성되어 있다.As shown in FIG. 8A, the class Vertex represents the node of the hypergraph H and has four fields (Id, Subject, Predicate, Object). The ID (Triple ID) is used to identify the node and the other fields represent triples. The hyper trunk class consists of two fields: ID and Version ID.

도 7b에서 보는 바와 같이, 클래스 다이어그램에 따라 본 발명에서는 관계형 데이터베이스로서 3개의 테이블(Vertex, Hyperedge, Relationship)을 사용한다.As shown in Figure 7b, according to the class diagram, the present invention uses three tables (Vertex, Hyperedge, Relationship) as a relational database.

이와 같은 저장기법은 2가지 장점을 가진다. 첫째, 저장 공간을 줄일 수 있다. 하이퍼간선이 동일한 트리플들을 갖기 때문에 같은 트리플을 가지는 버전을 따로 저장할 필요가 없다. 예를 들면, 앞서의 예제에서 RDF 버전 RV2 와 RV4 가 같은 트리플 {x, y, z}을 가진다. 따라서 이 두 버전은 따로 저장할 필요가 없으며 오직 한 개의 하이퍼간선을 가지면 된다. 이는 중복되는 트리플 ID를 저장할 필요가 없게 만든다. 둘째, 새로운 버전을 생성할 때, 해당되는 버전을 생성하기 위해 오직 하이퍼간선에 접근하기만 하면 된다.
This storage technique has two advantages. First, the storage space can be reduced. Since hyper-edges have the same triples, there is no need to store separate versions with the same triples. For example, in the previous example, RDF versions RV 2 and RV 4 have the same triple {x, y, z}. Therefore, these two versions do not need to be stored separately, they only have one hyper-edge. This eliminates the need to store duplicate triple IDs. Second, when creating a new version, you only need to access the hyper-edge to create that version.

다음으로, 공통 노드로 하이퍼그래프를 최적화한다(S50).Next, the hypergraph is optimized with the common node (S50).

즉, 상기 간선 집합의 원소 중에서 적어도 2 이상의 원소가 적어도 2 이상의 노드를 공통으로 가지는 경우, 공통으로 가지는 노드들을 하나의 노드(이하 공통 노드)로 생성하고, 상기 공통 노드를 상기 노드 집합에 추가하고, 상기 간선 집합의 원소 중에서 상기 공통 노드에 속하는 노드들을 상기 공통 노드로 치환한다.That is, when at least two or more elements among the elements of the trunk set have at least two nodes in common, the nodes having the common node are created as one node (hereinafter referred to as common node), and the common node is added to the node set. And among the elements of the trunk set, nodes belonging to the common node are replaced with the common node.

종래 기술에 따른 DB 기법(변경 기반 방법)이 변화된 부분에 초점을 두는 반면 본 발명에 따른 최적화 기법은 변화지 않는 부분에 초점을 둔다. 즉, 모든 버전에 공통으로 나타나는 트리플들을 대상으로 한다. 일반적으로 연속되는 두 버전의 변화는 작다. [문헌 4]에 보고된 바에 의하면 약 97.3%가 변화하지 않는다. 이러한 관찰에 기반하여 DB 방법과 본 발명에 따른 방법의 장점을 포함하여 저장 공간을 줄일 수 있는 최적화 기법을 제안한다.While the DB technique (change-based method) according to the prior art focuses on the changed portion, the optimization technique according to the present invention focuses on the portion that does not change. In other words, we target triples that are common to all versions. In general, the change between two successive versions is small. As reported in [Reference 4], about 97.3% does not change. Based on these observations, we propose an optimization technique that can reduce storage space, including the advantages of the DB method and the method of the present invention.

도 9는 본 발명에 따른 최적화 방법을 보여준다.9 shows an optimization method according to the invention.

도 9에서 Eall 은 최대 공통 트리플을 포함하는 하이퍼간선을 의미한다. 도 9에서 보듯이 트리플 ID d와 e는 모든 하이퍼간선에서 나타난다. 본 최적화 단계(S50)에서는 이를 Eall 에 연결한다. 따라서 하이퍼간선에 연결되는 BG 그래프의 간선을 줄여 줄 수 있다. 최적화 단계에서 E'i 가 최적화 후의 버전 RVi 를 나타낸다면 버전 RVi 는 다음 [수학식 3]과 같이 표현된다.In FIG. 9, E all means a hyper trunk including a maximum common triple. As shown in Fig. 9, triple IDs d and e appear in all hyper-edges. In this optimization step (S50) it is connected to E all . Therefore, the edge of the BG graph connected to the hyper edge can be reduced. If the optimization phase shows a version RV i after E 'i is optimized version RV i may be expressed as: [Equation 3].

[수학식 3]&Quot; (3) "

Figure pat00002
Figure pat00002

이 단계는 변화율이 매우 작거나 특정 트리플들이 삽입과 삭제가 반복적으로 일어날 때 훨씬 효과적이다.
This step is much more effective when the rate of change is very small or when certain triples are inserted and deleted repeatedly.

다음으로, RDF 데이터 요청에 따라 검색하여 반환한다(S60). 즉, 특정 버전의 RDF 데이터를 요청받으면, 상기 특정 버전에 대응되는 간선 집합의 원소를 검색하고, 검색된 원소에 속하는 트리플들을 반환한다.Next, search and return according to the RDF data request (S60). That is, when a specific version of the RDF data is requested, the elements of the edge set corresponding to the specific version are searched and triples belonging to the searched elements are returned.

따라서 본 발명은 한 번의 연산에 의해 바로 요청한 RDF 데이터 버전을 추출하여 생성할 수 있다.Therefore, the present invention can extract and generate the requested RDF data version immediately by one operation.

버전 생성 관점에서 본 발명을 종래의 DB 방법 및 POI 방법과 비교하여 분석한다. 명료함을 위해 모든 버전은 가지가 없는 선형 버전 모델로 구성되어 있다고 가정한다. 즉, 한 버전은 오직 하나의 버전으로부터 나올 수 있다고 가정한다.In view of version generation, the present invention is analyzed by comparing with the conventional DB method and POI method. For clarity, it is assumed that all versions consist of a linear version model without branches. That is, it is assumed that one version can come from only one version.

먼저, DB 방법의 버전 생성을 생각해보자. RDF 버전 RVi이 주어졌을 때 RVi+1이 현재의 버전이고 두 버전 사이의 변경 부분을 Δi,i+1 라고 하면 RVi+1은 다음 [수학식 4]와 같다.First, consider creating a version of the DB method. Given the RDF version RV i , if RV i + 1 is the current version and the change between the two versions is Δ i, i + 1 , then RV i + 1 is given by Equation 4 below.

[수학식 4]&Quot; (4) "

Figure pat00003
Figure pat00003

새로운 버전은 다수의 변경 연산 (삭제 트리플과 삽입 트리플)에 의해 생성된다. DB 기법은 두 버전사이의 변화된 부분이 작을 때 유용하다.The new version is created by a number of change operations (delete triple and insert triple). The DB technique is useful when the variation between the two versions is small.

하지만 앞서 언급하였듯이 DB기법은 변경 부분을 실행하는데 있어 성능이 저하되는 약점을 가진다. 최근 버전에 접근하기 위해 최초 버전부터 연속적으로 변경 부분을 적용해야 하기 때문이다. 버전 RVi 가 주어졌을 때, 버전 RVi 과 RVj의 사이의 변경 부분을 Δi,i+1, Δi+1,i+2, Δi+2,i+3, …, Δj-1,j 라고 하자. 이 때 버전 RVj 은 다음 [수학식 5]와 같이 계산된다.However, as mentioned earlier, the DB technique has a weakness in that performance is degraded in executing changes. This is because, in order to access the latest version, changes must be applied continuously from the first version. The version RV i, given, the changing part between the version i RV and RV j Δ i, i + 1 , Δ i + 1, i + 2, Δ i + 2, i + 3, ... Let Δ j-1, j . At this time, the version RV j is calculated as in Equation 5 below.

[수학식 5]&Quot; (5) "

Figure pat00004
Figure pat00004

직관적으로 버전 생성 비용이 변경 개수의 증가나 감소에 의해 영향을 받는 것을 알 수 있다.Intuitively, we can see that the cost of versioning is affected by the increase or decrease in the number of changes.

POI 기법을 이용하여 버전 생성을 하게 되면 POI 그래프에서 주어진 노드의 모든 조상 노드들을 방문하고 조상 노드들에 있는 트리플들을 현재의 노드에 합쳐야 한다. 버전 RVi 의 트리플들을 Ni 라 하고 Nt1, Nt2, …, Ntj 을 조상 노드들이 가지고 있는 트리플들이라고 하면 버전 RVi 는 다음 [수학식 6]과 같이 계산된다.Version generation using the POI method requires visiting all ancestor nodes of a given node in the POI graph and merging the triples in the ancestor nodes with the current node. The triples of version RV i are called N i and N t1 , N t2,. For example, if N tj is triples of ancestor nodes, version RV i is calculated as shown in [Equation 6].

[수학식 6]&Quot; (6) "

Figure pat00005
Figure pat00005

따라서 버전 생성 비용은 POI 그래프의 깊이에 의존한다. 만약 깊이가 깊어지면 버전 생성 성능은 저하된다. 비록 버전 생성을 빠르게 해주는 인덱스(transitive 인덱스 혹은 레이블링 기법)를 사용한다고 하더라도 이 방법들 또한 추가적인 저장 공간과 계산 시간을 요구한다.The cost of creating a version therefore depends on the depth of the POI graph. If the depth is deeper, the versioning performance is degraded. Although using indexes (transitive indexes or labeling techniques) to speed up version creation, these methods also require additional storage space and computation time.

한편, 본 발명에 따른 하이퍼그래프 기반의 방법은 데이터 구조와 상관없이 데이터의 전체나 부분을 탐색할 필요가 없다. 오직 해당되는 하이퍼간선에 접근하면 원하는 버전을 직접 생성할 수 있다. 결과적으로 버전 생성 성능이 매우 중요하므로 본 발명에 따른 방법이 일반적으로 어떤 RDF 버전에도 적용가능하다고 볼 수 있다.
On the other hand, the hypergraph-based method according to the present invention does not need to search all or part of the data regardless of the data structure. Only by accessing the corresponding hyper-edges can you create your own version. As a result, the performance of version generation is very important and thus the method according to the invention can be regarded as generally applicable to any RDF version.

다음으로, 본 발명의 효과를 성능평가를 통해 보다 구체적으로 설명한다.Next, the effects of the present invention will be described in more detail through performance evaluation.

본 발명에 따른 하이퍼그래프 기반 저장 방법과 다른 저장 방법(AS, DB, POI)을 비교한다. AS와 DB는 인덱스 구조가 없기 때문에 트리플 저장소에 직접 저장하는 방법을 사용한다. 특히 4개의 방법을 저장 공간과 버전 생성 시간에 대해 평가한다.The hypergraph based storage method according to the present invention is compared with other storage methods (AS, DB, POI). Since AS and DB do not have an index structure, they are stored directly in triple storage. Specifically, four methods are evaluated for storage space and version creation time.

먼저, 성능평가를 위한 실험 환경을 설명한다.First, the experimental environment for performance evaluation will be described.

모든 실험은 16G 메모리를 가진 Intel Xeon CPU 3GHz PC에서 수행하였다. 모든 저장 기법들은 자바 언어로 구현되었으며 RDF 파서로는 Rio 파서를 사용하였으며 관계형 데이터베이스로는 Oracle 11gR2를 사용하였다. 실험을 위해 DBPedia Ontology를 사용하였다. 도 10은 실제 데이터 셋의 속성을 보여준다. 데이터 셋은 6개의 버전(버전 3.2에서 버전 3.7)으로 구성되었다. 모든 버전은 이전 버전의 상위 버전과 하위 버전이 아니다.All experiments were performed on an Intel Xeon CPU 3GHz PC with 16G memory. All storage techniques are implemented in the Java language, using the Rio parser as the RDF parser, and Oracle 11gR2 as the relational database. DBPedia Ontology was used for the experiment. 10 shows the attributes of the actual data set. The data set consists of six versions (version 3.2 to version 3.7). All versions are not higher or lower versions of previous versions.

다음으로, 실험결과에 따른 저장 공간 오버헤드를 비교한다.Next, the storage space overhead according to the experimental results is compared.

도 11은 각각의 저장 방법에 대한 필요 저장 공간을 보여준다. 각 방법의 저장 공간은 모든 버전을 저장한 디스크 공간을 의미한다(DB방법에서는 변경 부분을 포함하며 POI와 HB(본 발명)에서는 트리플 ID를 포함한다). DB 방법에서는 버전 3.2 버전을 실제 저장하는 버전으로 선택하였다. 예상한대로 본 발명(HB) 방법이 가장 좋은 성능을 보였다(가장 적은 디스크 공간). 실험에 사용된 데이터의 크기가 작았지만 버전의 수가 증가한다면 방법들의 차이는 더 커질것이라 예상된다. 또한 HB와 POI에 저장된 트리플 ID의 수를 조사하였다. POI보다 HB의 트리플 ID의 합계가 훨씬 작았다. 또한 1418개의 트리플 ID가 진화 과정 동안 변화하지 않고 그대로 있는 것을 발견하였다. 이는 본 발명에 따른 최적화 방법을 통해 줄어들 수 있었다. 11 shows the required storage space for each storage method. The storage space of each method means the disk space in which all versions are stored (in the DB method, the changed part is included, and in the POI and the HB (invention), the triple ID is included). In the DB method, version 3.2 was selected as the version to actually save. As expected, the present invention (HB) method performed the best (the least amount of disk space). Although the size of the data used in the experiment was small, the difference between the methods is expected to increase if the number of versions increases. We also examined the number of triple IDs stored in HB and POI. HB's triple ID sum was much smaller than POI. We also found that 1418 triple IDs remained unchanged during evolution. This could be reduced through the optimization method according to the invention.

다음으로, 실험결과에 따른 버전 생성 시간을 비교한다.Next, the version generation time according to the experimental results is compared.

도 12는 DB, POI, HB(본 발명)의 버전 생성 시간을 보여준다. y측은 버전 생성 시간을 보여주고 x측은 생성되어질 버전 ID를 보여준다. 도 12에서 보듯이, DB 방법의 버전 생성 시간은 버전 개수에 비례하여 증가하는 것을 알 수 있다. POI와 HB는 버전 생성을 빠르게 할 수 있다. 하지만 POI 방법은 POI 그래프에서 조상 노드가 있는지 검사를 해야 한다. 따라서 본 발명(HB)이 더 좋은 성능을 보여준다. 만약에 POI의 간선이 증가한다면 POI의 성능은 더 저하될 것이다.
12 shows version generation time of DB, POI, HB (invention). The y side shows the version creation time and the x side shows the version ID to be created. As shown in FIG. 12, it can be seen that the version generation time of the DB method increases in proportion to the number of versions. POI and HB can speed up version creation. However, the POI method must check for the presence of an ancestor node in the POI graph. Thus, the present invention (HB) shows better performance. If the edge of the POI increases, the performance of the POI will be further reduced.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
As mentioned above, although the invention made by this inventor was demonstrated concretely according to the said Example, this invention is not limited to the said Example, Of course, a various change is possible in the range which does not deviate from the summary.

10 : 사용자 단말 13 : 컴퓨터 단말
14 : 사용자 20 : 네트워크
30 : RDF 버전 관리 시스템 40 : 데이터베이스
10: user terminal 13: computer terminal
14: User 20: Network
30: RDF Version Control System 40: Database

Claims (7)

RDF 데이터를 하이퍼 그래프로 구성하여 버전을 관리하는 하이퍼 그래프 기반 RDF 버전 관리 방법에 있어서,
(a) 서로 다른 버전이 부여된 다수의 RDF 데이터를 입력받되, 상기 RDF 데이터는 적어도 하나 이상의 트리플로 구성되는 단계;
(b) 상기 트리플을 하나의 노드로서 정하여 모든 트리플을 포함하는 노드 집합을 구성하고, 상기 모든 RDF 데이터를 간선 집합으로 구성하되, 하나의 RDF 데이터는 상기 간선 집합의 하나의 원소로서 자신에 속하는 트리플에 대응되는 노드의 집합으로 구성되는 단계;
(c) 상기 노드 집합과 상기 간선 집합을 포함하는 하나의 하이퍼그래프로 구성하는 단계; 및,
(d) 상기 하이퍼그래프를 이분 그래프(bipartite graph)로 저장하는 단계를 포함하는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
In the hypergraph-based RDF version control method for managing the version by organizing the RDF data into a hypergraph,
(a) receiving a plurality of RDF data given different versions, wherein the RDF data is composed of at least one triple;
(b) designating the triple as one node to construct a node set including all triples, and configuring all the RDF data into a trunk set, wherein one RDF data belongs to a triple as one element of the trunk set; Comprising a set of nodes corresponding to;
(c) constructing one hypergraph including the node set and the edge set; And
(d) storing the hypergraph as a bipartite graph.
제1항에 있어서,
상기 (b)단계에서, 동일한 트리플을 갖는 적어도 2개의 RDF 데이터는 하나의 원소로 정하는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
The method of claim 1,
In the step (b), at least two RDF data having the same triple is determined by one element, hypergraph-based RDF version control method.
제1항에 있어서,
상기 (d)단계에서, 상기 하이퍼그래프는 클래스 다이어그램으로 모델링되어 저장하되, 상기 클래스 다이어그램은 노드 클래스와 간선 클래스로 구성되고, 상기 노드 클래스는 노드 아이디(ID) 및 트리플로 구성되고, 상기 간선 클래스는 간선 아이디(ID) 및 버전 아이디(ID)로 구성되는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
The method of claim 1,
In the step (d), the hypergraph is modeled and stored as a class diagram, wherein the class diagram is composed of a node class and an edge class, and the node class is composed of a node ID and triple, and the trunk class The hypergraph-based RDF version management method, characterized in that consisting of the edge ID (ID) and version ID (ID).
제1항에 있어서,
상기 (d)단계에서, 상기 하이퍼그래프는 관계형 데이터베이스로 모델링되어 저장하되, 상기 관계형 데이터베이스는 노드 테이블, 간선 테이블, 관계 테이블로 구성되고, 상기 노드 테이블은 노드 아이디(ID) 및 트리플로 구성되고, 상기 간선 테이블은 간선 아이디(ID) 및 버전 아이디(ID)로 구성되고, 상기 관계 테이블은 노드 아이디(ID) 및 간선 아이디(ID)로 구성되는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
The method of claim 1,
In the step (d), the hypergraph is modeled and stored as a relational database, the relational database is composed of a node table, an edge table, a relation table, the node table is composed of a node ID (ID) and triple, The edge table is composed of a trunk ID (ID) and a version ID (ID), the relationship table is a hypergraph-based RDF version management method, characterized in that consisting of the trunk ID (ID).
제1항에 있어서,
상기 (d)단계에서, 상기 하이퍼그래프를 이분 그래프(bipartite graph) 대신 근접행렬(incidence matrix)로 저장하는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
The method of claim 1,
In the step (d), the hypergraph based RDF version control method, characterized in that for storing the hypergraph (incidence matrix) instead of a bipartite graph (bipartite graph).
제1항에 있어서, 상기 방법은,
(e) 상기 간선 집합의 원소 중에서 적어도 2 이상의 원소가 적어도 2 이상의 노드를 공통으로 가지는 경우, 공통으로 가지는 노드들을 하나의 노드(이하 공통 노드)로 생성하고, 상기 공통 노드를 상기 노드 집합에 추가하고, 상기 간선 집합의 원소 중에서 상기 공통 노드에 속하는 노드들을 상기 공통 노드로 치환하는 단계를 더 포함하는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
The method of claim 1, wherein
(e) When at least two or more elements among the elements of the trunk set have at least two or more nodes in common, create nodes having in common as one node (hereinafter referred to as a common node) and add the common node to the node set. And replacing the nodes belonging to the common node among the elements of the trunk set with the common node.
제1항에 있어서, 상기 방법은,
(f) 특정 버전의 RDF 데이터를 요청받으면, 상기 특정 버전에 대응되는 간선 집합의 원소를 검색하고, 검색된 원소에 속하는 트리플들을 반환하는 단계를 더 포함하는 것을 특징으로 하는 하이퍼 그래프 기반 RDF 버전 관리 방법.
The method of claim 1, wherein
(f) if requested for a specific version of RDF data, further comprising: searching for elements of the edge set corresponding to the specific version, and returning triples belonging to the searched elements; .
KR1020120033534A 2012-03-30 2012-03-30 A Hypergraph-based Storage Method for Managing RDF Version KR101380605B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120033534A KR101380605B1 (en) 2012-03-30 2012-03-30 A Hypergraph-based Storage Method for Managing RDF Version

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120033534A KR101380605B1 (en) 2012-03-30 2012-03-30 A Hypergraph-based Storage Method for Managing RDF Version

Publications (2)

Publication Number Publication Date
KR20130111047A true KR20130111047A (en) 2013-10-10
KR101380605B1 KR101380605B1 (en) 2014-04-04

Family

ID=49632761

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120033534A KR101380605B1 (en) 2012-03-30 2012-03-30 A Hypergraph-based Storage Method for Managing RDF Version

Country Status (1)

Country Link
KR (1) KR101380605B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140067762A1 (en) * 2012-02-23 2014-03-06 Fujitsu Limited Database controller, method, and system for storing encoded triples
KR101525529B1 (en) * 2014-09-30 2015-06-05 주식회사 비트나인 data processing apparatus and data mapping method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2830958B1 (en) * 2001-10-12 2004-02-13 Commissariat Energie Atomique METHOD OF INDEXING, STORING AND COMPARING MULTIMEDIA DOCUMENTS

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140067762A1 (en) * 2012-02-23 2014-03-06 Fujitsu Limited Database controller, method, and system for storing encoded triples
US9251232B2 (en) * 2012-02-23 2016-02-02 Fujitsu Limited Database controller, method, and system for storing encoded triples
KR101525529B1 (en) * 2014-09-30 2015-06-05 주식회사 비트나인 data processing apparatus and data mapping method thereof

Also Published As

Publication number Publication date
KR101380605B1 (en) 2014-04-04

Similar Documents

Publication Publication Date Title
Corbellini et al. Persisting big-data: The NoSQL landscape
Patil et al. A qualitative analysis of the performance of MongoDB vs MySQL database based on insertion and retriewal operations using a web/android application to explore load balancing—Sharding in MongoDB and its advantages
CN104160394B (en) Scalable analysis platform for semi-structured data
US9576011B2 (en) Indexing hierarchical data
RU2507574C2 (en) Page-by-page breakdown of hierarchical data
Im et al. A version management framework for RDF triple stores
US20090248651A1 (en) Apparatus and method for maintaining metadata version awareness during set evaluation for olap hierarchies
Elzein et al. Managing big RDF data in clouds: Challenges, opportunities, and solutions
Rozsnyai et al. Large-scale distributed storage system for business provenance
Pelgrin et al. Towards fully-fledged archiving for RDF datasets
Imasheva et al. The practice of moving to big data on the case of the nosql database, clickhouse
Vajk et al. Automatic NoSQL schema development: A case study
Siddiqa et al. SmallClient for big data: an indexing framework towards fast data retrieval
Glake et al. Towards Polyglot Data Stores--Overview and Open Research Questions
KR101380605B1 (en) A Hypergraph-based Storage Method for Managing RDF Version
Schildgen et al. NotaQL is not a query language! it’s for data transformation on wide-column stores
Marx et al. Large-scale RDF dataset slicing
Arora et al. An algorithm for transformation of data from MySQL to NoSQL (MongoDB)
Hewasinghage et al. Managing polyglot systems metadata with hypergraphs
Gautam et al. Use of NoSQL database for handling semi structured data: an empirical study of news RSS feeds
KR101229274B1 (en) Relatinal database storage based ontology construction method and management,and Information providing system and Recording medium using the same
Semertzidis et al. Historical traversals in native graph databases
Baqasah et al. Maintaining schema versions compatibility in cloud applications collaborative framework
Im et al. A hypergraph-based storage policy for RDF version management system
Atzori et al. Dataspaces: where structure and schema meet

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160224

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 7