KR20200094673A - Ra 트리를 이용한 rdf 트리플 데이터 압축 방법 및 장치 - Google Patents

Ra 트리를 이용한 rdf 트리플 데이터 압축 방법 및 장치 Download PDF

Info

Publication number
KR20200094673A
KR20200094673A KR1020200008606A KR20200008606A KR20200094673A KR 20200094673 A KR20200094673 A KR 20200094673A KR 1020200008606 A KR1020200008606 A KR 1020200008606A KR 20200008606 A KR20200008606 A KR 20200008606A KR 20200094673 A KR20200094673 A KR 20200094673A
Authority
KR
South Korea
Prior art keywords
data
hash
rdf triple
node
url
Prior art date
Application number
KR1020200008606A
Other languages
English (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 경희대학교 산학협력단
Publication of KR20200094673A publication Critical patent/KR20200094673A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

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

Abstract

본 발명은 RA 트리를 이용한 RDF 트리플 데이터 압축 방법 및 장치에 관한 것으로, RDF 트리플 데이터를 압축함으로써 저장 공간 및 코스트를 절감하는 것을 일 목적으로 한다. 이를 달성하기 위한 본 발명은 RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하는 a 단계, 상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리하고, 상기 속성을 해시하여 해시 값을 생성하는 b 단계, 상기 구성 요소 별로 생성된 상기 해시 값을 해시하여 RDF 트리플 해시 데이터를 생성하는 c 단계 및 상기 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장하는 d 단계를 포함하는 것을 특징으로 한다.

Description

RA 트리를 이용한 RDF 트리플 데이터 압축 방법 및 장치{METHOD AND DEVICE FOR COMPRESSING RDF TRIPLE DATA USING RA TREES}
본 발명은 RA 트리를 이용한 RDF 트리플 데이터 압축 방법 및 장치에 관한 것으로, 보다 자세하게는 RDF 트리플 데이터를 압축하여 RA 트리를 형태로 저장함으로써 코스트를 절감하는 RA 트리를 이용한 RDF 트리플 데이터 압축 방법 및 장치에 관한 것이다.
트리플 데이터의 대표적인 모델은 RDF 트리플 데이터로, 주체, 술어, 객체와 같은 3가지 속성으로 기술된다. 근래에는 RDF/XML 문서가 많이 사용되고 있으며, 이러한 문서의 사용이 증가함에 따라 RDF 트리플 데이터를 압축하는 기술의 수요가 증가하고 있다.
기존에 사용되는 RDF 트리플 데이터의 압축 기술은, RDF 트리플 데이터의 URL을 PREFIX와 SUFFIX의 두 속성으로 구분하여 해시하는 것으로, PREFIX가 URL의 프로토콜, 호스트 주소, 경로를 모두 포함함에 따라 세 속성 중 하나가 변화하여도 PREFIX가 다르다고 인식하기 때문에 속성의 변화에 따라 저장 공간 및 코스트에 있어서 다소 민감하게 반응하는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 다수의 중복 텍스트를 포함하는 RDF 트리플 데이터를 해시 테이블을 이용하여 압축하는 것을 일 목적으로 한다.
또한 본 발명은 압축된 RDF 트리플 데이터를 트리 형태로 저장소에 저장하여, RDF 트리플 데이터에 대한 검색 및/또는 액세스를 효과적으로 수행할 수 있게 하는 것을 일 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명은 서버가 RA 트리를 이용하여 RDF 트리플 데이터를 압축하는 방법에 있어서, RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하는 a 단계, 상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리하고, 상기 속성을 해시하여 해시 값을 생성하는 b 단계, 상기 구성 요소 별로 생성된 상기 해시 값을 해시하여 RDF 트리플 해시 데이터 를 생성하는 c 단계 및 상기 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장하는 d 단계를 포함하는 것을 일 특징으로 한다.
또한 상기 구성 요소는 주체 URL 데이터, 술어 URL 데이터, 또는 객체 URL 데이터 중 적어도 하나를 포함하고, 상기 URL 속성은 프로토콜과 호스트를 포함하는 제1 속성, 경로를 포함하는 제2 속성, 질의를 포함하는 제3 속성으로 구분되어, 상기 b 단계는, 상기 구성 요소 각각에 대하여 제1 내지 제3 속성을 분리하는 것을 일 특징으로 한다.
나아가 상기 b 단계는, 제1 해시 테이블을 이용하여, 상기 URL 속성에 따라 분리된 상기 제1 내지 제3 속성을 해시하여 상기 URL 속성 별로 제1 내지 제3 해시 값을 생성하는 것을 일 특징으로 한다.
또한 제2 해시 테이블을 이용하여, 상기 주체 URL 데이터에 대응하는 제1 내지 제3 해시 값을 해시하여 제1 RDF 트리플 해시 데이터를 생성하는 단계, 제3 해시 테이블을 이용하여, 상기 술어 URL 데이터에 대응하는 제1 내지 제3 해시 값을 해시하여 제2 RDF 트리플 해시 데이터를 생성하는 단계 및 상기 제2 해시 테이블을 이용하여, 상기 객체 URL 데이터에 대응하는 제1 내지 제3 해시 값을 해시하여 제3 RDF 트리플 해시 데이터를 생성하는 단계를 더 포함하는 것을 일 특징으로 한다.
나아가 상기 d 단계는, 상기 제2 RDF 트리플 해시 데이터를 이용하여 루트 노드인 제1 노드를 생성하는 단계, 상기 제1 및 제3 RDF 트리플 해시 데이터를 이용하여 상기 제1 노드의 하부 노드인 제2 노드를 생성하는 단계, 상기 제1 RDF 트리플 해시 데이터에 대응하는 제2 노드를 생성하면, 상기 제3 RDF 트리플 해시 데이터를 이용하여 상기 제2 노드의 하부 노드인 제3 노드를 생성하는 단계 및 상기 제3 RDF 트리플 해시 데이터에 대응하는 제2 노드를 생성하면, 상기 제2 RDF 트리플 해시 데이터를 이용하여 상기 제3 노드를 생성하는 단계를 더 포함하는 것을 일 특징으로 한다.
또한 상기 제1 내지 제3 노드를 생성하는 단계는, 상기 제1 내지 제3 노드가 상기 RA 트리에 이미 존재하는 지 검색하고, 존재하지 않으면 상기 제1 내지 제3 노드를 생성하는 것을 일 특징으로 한다.
나아가 상기 RDF 트리플 해시 데이터는 오프셋을 이용하여 상기 RDF 트리플 데이터로 재변환 가능한 것을 일 특징으로 한다.
또한 본 발명은 RA 트리를 이용하여 RDF 트리플 데이터를 압축하는 장치에 있어서, RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하고, 상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리하는 데이터 분리부, 상기 속성을 해시하여 해시 값을 생성하며, 상기 구성 요소 별로 생성된 상기 해시 값을 해시하여 RDF 트리플 해시 데이터를 생성하는 해시 처리부 및 상기 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장하는 트리 생성부를 포함하는 것을 일 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 다수의 중복 텍스트를 포함하는 RDF 트리플 데이터를 해시 테이블을 이용하여 압축할 수 있다.
또한 본 발명은 압축된 RDF 트리플 데이터를 트리 형태로 저장소에 저장하여, RDF 트리플 데이터에 대한 검색 및/또는 액세스를 효과적으로 수행할 수 있다.
도 1은 본 발명의 일 실시 예에 의한 RDF 트리플 데이터 압축 방법의 예시를 설명하기 위한 순서도이다
도 2는 본 발명의 일 실시 예에 의한 RDF 트리플 데이터를 이용하여 RA 트리를 생성하는 방법을 설명하기 위한 순서도
도 3은 본 발명의 일 실시 예에 의한 RDF 트리플 데이터의 예시
도 4는 본 발명의 일 실시 예에 의한 RDF 트리플 데이터를 URL 속성에 따라 분리하고 RDF 트리플 해시 데이터를 생성하는 방법을 설명하기 위한 도면
도 5는 본 발명의 일 실시 예에 의한 RDF 트리플 해시 데이터의 예시를 설명하기 위한 도면,
도 6은 본 발명의 일 실시 예에 의한 RA 트리의 예시를 설명하기 위한 도면,
도 7은 본 발명의 일 실시 예에 의한 RA 트리를 이용한 RDF 트리플 데이터 압축 장치의 구성을 설명하기 위한 블록도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
RDF(Resource Description Framework) 데이터는 기본적으로 주체(subject), 술어(predicate), 객체(object)의 트리플 모델 형태를 갖는다. 주체란 표현하고자 하는 데이터를 의미하며, 술어는 주체에 대한 기술 또는 주체와 객체 사이의 관계를 의미하고, 객체는 술어에 대한 내용 또는 값을 의미한다. RDF 트리플 데이터는 URI 형태로 기술된다.
도 1은 본 발명의 일 실시 예에 의한 RDF 트리플 데이터 압축 방법의 예시를 설명하기 위한 순서도이다. 본 발명의 일 실시 예에 의한 RDF 트리플 데이터 압축 방법의 주체는 서버로 구현될 수 있는 바, 이하에서는 서버로 명명한다.
단계 110에서, 서버는 RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리할 수 있다. 도 3은 본 발명의 일 실시 예에 의한 RDF 트리플 데이터의 예시로, 도 3을 참조하면, 상술한 바와 같이 RDF 트리플 데이터는 주체, 술어 및 객체를 의미하는 3개의 URL을 포함하여, 서버는 RDF 트리플 데이터를 주체 URL 데이터, 술어 URL 데이터, 및 객체 URL 데이터로 분리할 수 있다.
예를 들어 설명하면, 서버는 Stanford is type of University의 의미를 갖는 RDF 트리플 데이터를 Stanford, type, University로 분리할 수 있다. 이 때, Stanford는 RDF 트리플 데이터의 주체, type은 RDF 트리플 데이터의 술어, University는 RDF 트리플 데이터의 객체를 의미할 것이다.
도 4는 본 발명의 일 실시 예에 의한 RDF 트리플 데이터에 속한 주체 URL 데이터, 술어 URL 데이터, 객체 URL 데이터를 URL 속성에 따라 분리하고 RDF 트리플 해시 데이터를 생성하는 방법을 설명하기 위한 도면이다. 이하에서는 도 4를 참조하여 RDF 트리플 데이터를 구성 요소(주체, 술어, 객체) 별로 분리하여, 각 구성 요소의 URL 데이터를 기반으로 RDF 트리플 해시 데이터를 생성하는 방법을 설명한다.
단계 120에서, 서버는 구성 요소 별로 분리된 주체 URL 데이터, 술어 URL 데이터 및 객체 URL 데이터를 URL 속성에 따라 더 분리할 수 있다. URL은 크게 프로토콜, 호스트 주소, 경로, 질의를 포함할 수 있다. 본 발명의 일 실시 예에 의한 서버는 URL 데이터를 프로토콜과 호스트를 포함하는 제1 속성, 경로를 포함하는 제2 속성, 질의를 포함하는 제3 속성으로 구분하여 분리할 것이다.
예를 들어, RDF 트리플 데이터에서 생성된 주체 URL 데이터가 http://www.uni.edu/2004/std.owl\Student1이면, 서버는 http://www.uni.edu를 제1 속성으로, 2004/std.owl를 제2 속성으로, Student1을 제3 속성으로 구분하여 분리할 것이다.
서버는 URL 데이터를 속성 별로 구분하기 위하여, URL에 포함된 "/", "\"와 같은 특수문자를 기준으로 할 수 있다. 예를 들어, 서버는 http://www.uni.edu/2004/std.owl\Student1의 URL에서, 프로토콜 다음으로 나오는 /를 기준으로 제1 속성을 분리하고, 그 이후에 나오는 \를 기준으로 제2 속성을 분리하며, 남은 데이터를 제3 속성으로 설정할 수 있다.
서버는 URL 데이터를 속성에 따라 분리하는 과정에 있어서, URL의 구조를 기반으로 사용자의 설정에 따라 속성을 구분하고, 속성의 수를 달리할 수 있다.
단계 130에서, 서버는 데이터베이스에 저장된 제1 해시 테이블을 이용하여 각 구성 요소 별 제1 내지 제3 속성을 해시하여 제1 내니 제3 해시 값을 획득할 수 있다. 제1 내지 제3 해시 값은 각각 4 byte의 크기를 가질 수 있으며, 제1 내지 제3 해시 값의 수에 따라 크기는 달라질 수 있다. 해시 테이블은 연관배열 구조를 이용하여 키와 결과 값을 매칭하여 저장하는 자료 구조로, 키를 통해 결과 값을 도출할 수 있다. 본 발명의 일 실시 예에 의하면, 서버는 해시 테이블에 제1 내지 제3 속성을 키로 하여 결과 값인 제1 내지 제3 해시 값을 도출할 수 있다.
예를 들어, 데이터베이스에 저장된 제1 해시 테이블에 저장된 http://www.uni.edu를 키로 하는 결과 값이 1이고, 2004/std.owl을 키로 하는 결과 값이 73, Student1을 키로 하는 결과 값이 863이라고 가정하면, 서버는 http://www.uni.edu/2004/std.owl\Student1의 URL에 제1 해시 테이블을 적용하여 (1, 73, 863)의 해시 값을 도출할 수 있다.
단계 140에서, 서버는 RDF 트리플 데이터의 주체 URL 데이터에 대한 제1 내지 제3 해시 값, RDF 트리플 데이터의 술어 URL 데이터에 대한 제1 내지 제3 해시 값, RDF 트리플 데이터의 객체 URL 데이터에 대한 제1 내지 제3 해시 값을 이용하여 구성 요소 각각에 대한 RDF 트리플 해시 데이터를 생성할 수 있다. 즉 서버는 하나의 RDF 트리플 데이터에서 3개의 RDF 트리플 해시 데이터를 생성할 수 있다. 트리플 해시 데이터는 도 5에 도시된 바와 같이 (ID, 제1 해시 값, 제2 해시 값, 제3 해시 값)의 형태를 가질 수 있다.
RDF 트리플 해시 데이터 역시 제1 내지 제3 해시 값과 동일하게 4 byte의 크기를 가질 수 있으며, 해시 값의 수에 따라 크기를 조절할 수 있다.
보다 구체적으로, 서버는 RDF 트리플 데이터의 주체 URL 데이터에 대응하는 제1 내지 제3 해시 값에 대한 해시 함수가 포함된 제2 해시 테이블을 이용하여, RDF 트리플 데이터의 주체 URL 데이터에 대한 제1 내지 제3 해시 값을 해시하여 제1 RDF 트리플 해시 데이터를 생성할 수 있다. 제1 RDF 트리플 해시 데이터는 RDF 트리플 데이터 중 주체 URL 데이터에 대응되는 것으로, 주체 URL에서 생성된 제1 내지 제3 해시 값의 조합을 키로 하여 도출될 수 있다.
나아가, 서버는 RDF 트리플 데이터의 술어 URL 데이터에 대한 제1 내지 제3 해시 값에 대한 해시 함수가 포함된 제3 해시 테이블을 이용하여, RDF 트리플 데이터의 술어 URL 데이터에 대한 제1 내지 제3 해시 값을 해시하여 제2 RDF 트리플 해시 데이터를 생성할 수 있다. 제2 RDF 트리플 해시 데이터는 RDF 트리플 데이터 중 술어 URL 데이터에 대응되는 것으로, 술어 URL 데이터에서 생성된 제1 내지 제3 해시 값의 조합을 키로 하여 도출될 수 있다.
또한, 서버는 RDF 트리플 데이터의 객체 URL 데이터에 대한 제1 내지 제3 해시 값에 대한 해시 함수가 포함된 제2 해시 테이블을 이용하여, RDF 트리플 데이터의 객체 URL 데이터에 대한 제1 내지 제3 해시 값을 해시하여 제3 RDF 트리플 해시 데이터를 생성할 수 있다. 제3 RDF 트리플 해시 데이터는 RDF 트리플 데이터 중 객체 URL 데이터에 대응되는 것으로, 객체 URL 데이터에서 생성된 제1 내지 제3 해시 값의 조합을 키로 하여 도출될 수 있다.
이 때, 서버는 제1 및 제3 RDF 트리플 해시 데이터를 도출하기 위하여 동일한 제2 해시 테이블을 사용하는데, 이는 RDF 트리플 데이터에서 주체와 객체가 중복되는 경우를 고려하기 위함이다. 즉 본 발명의 일 실시 예에 의한 서버는 제1 내지 제3 RDF 트리플 해시 데이터를 도출하기 위하여 2개의 해시 테이블을 이용할 수 있다.
또한 본 발명의 일 실시 예에 의한 제2 및 제3 해시 테이블은, 서버는 RDF 트리플 데이터에 주체, 술어, 객체 URL 데이터 중 어느 하나가 누락되거나 입력되지 않았을 경우를 대비하여 공백에 대응하는 결과 값을 더 포함할 수 있다.
단계 150에서, 서버는 제1 내지 제3 RDF 트리플 해시 데이터를 트리 형태의 저장소에 저장할 수 있다. 보다 구체적으로 서버는, 제1 내지 제3 RDF 트리플 해시 데이터를 노드로 하는 RA 트리를 생성할 수 있다. 서버는 제1 RDF 트리플 해시 데이터를 주체 해시 데이터, 제2 RDF 트리플 데이터를 술어 해시 데이터, 제3 RDF 트리플 데이터를 객체 해시 데이터로 하여, RDF 트리플 해시 데이터를 (제1 RDF 트리플 해시 데이터, 제2 RDF 트리플 해시 데이터, 제3 RDF 트리플 해시 데이터) 형태로 RA 트리를 생성할 수 있다. 본 발명의 일 실시 예에 의한 RA 트리는 도 6과 같이 2 레벨의 트리 형태를 가질 것이다.
RA 트리를 통해 본 발명은 모든 RDF 트리플 해시 데이터의 제2 RDF 트리플 해시 데이터의 총 개수를 고유한 RA 트리의 트리플 개수로 하여, 저장소의 용량을 감소시킴에 따라 코스트를 절감할 수 있으며, RDF 트리플 데이터의 검색 및/또는 액세스를 효율적으로 진행할 수 있다. 단계 150에 대한 구체적인 내용은 도 2 및 도 6을 참고하여 설명한다.
도 2는 본 발명의 일 실시 예에 의한 RDF 트리플 데이터를 이용하여 RA 트리를 생성하는 방법을 설명하기 위한 순서도이다.
단계 210에서, 서버는 (제1 RDF 트리플 해시 데이터, 제2 RDF 트리플 해시 데이터, 제3 RDF 트리플 해시 데이터)의 형태를 갖는 RDF 트리플 해시 데이터에서, 제2 RDF 트리플 해시 데이터를 이용하여 RA 트리의 루트 노드인 제1 노드를 생성할 수 있다. 예를 들어, RDF 트리플 해시 데이터가 (5, 2, 7)이면, 서버는 2의 값을 갖는 제1 노드(루트 노드)를 생성할 수 있다.
서버는 단계 210을 수행하기 이전에, RA 트리에 이미 존재하는 루트 노드 중 RDF 트리플 해시 데이터의 제2 트리플 해시 데이터에 대응하는 제1 노드가 존재하는 지 검색할 것이다. RA 트리에 제1 노드가 이미 존재하면, 서버는 RDF 트리플 해시 데이터의 제 및 제3 트리플 해시 데이터를 제1 노드의 하부 노드에 추가할 것이다. 이에 대한 구체적인 내용은 단계 220 및 230에 관한 설명에서 후술한다.
단계 220에서, 서버는 RDF 트리플 해시 데이터의 제2 트리플 해시 데이터에 대응하는 제1 노드를 생성 또는 검색하면, RDF 트리플 해시 데이터의 제1 및 제3 트리플 해시 데이터를 제1 노드의 하부 노드에 추가할 수 있다.
보다 구체적으로 서버는 RDF 트리플 해시 데이터의 제1 트리플 해시 데이터를 제1 노드의 하부 노드인 제2 노드에 추가할 수 있다. 서버는 제1 노드의 경우와 마찬가지로, RA 트리에 존재하는 제1 노드의 하부 노드에 제1 트리플 해시 데이터에 대응하는 제2 노드가 이미 존재하는 지 먼저 검색한 후, 제1 트리플 해시 데이터에 대응하는 제2 노드가 존재하지 않으면 제1 트리플 해시 데이터에 대응하는 제2 노드를 생성할 것이다.
또한 서버는 RDF 트리플 해시 데이터의 제3 트리플 해시 데이터를 제1 노드의 하부 노드인 제2 노드에 추가할 수 있다. 이 역시 마찬가지로, RA 트리에 존재하는 제1 노드의 하부 노드에 제3 트리플 해시 데이터에 대응하는 제2 노드가 이미 존재하는 지 먼저 검색한 후, 제1 노드의 하부 노드에 제3 트리플 해시 데이터에 대응하는 제2 노드가 존재하지 않으면 제3 트리플 해시 데이터에 대응하는 제2 노드를 생성할 것이다.
단계 230에서, 서버는 RA 트리에 추가된 제2 노드에 대응되는 데이터에 따라 제2 노드의 하부 노드인 제3 노드에 제1 또는 제3 트리플 해시 데이터를 추가할 수 있다.
보다 구체적으로 서버는 RA 트리에서 제2 노드가 RDF 트리플 해시 데이터의 제1 트리플 해시 데이터에 대응하면, 제2 노드의 하부 노드인 제3 노드에 RDF 트리플 해시 데이터의 제3 트리플 해시 데이터를 추가할 수 있다. 또한 서버는 RA 트리에서 제2 노드가 RDF 트리플 해시 데이터의 제3 트리플 해시 데이터에 대응하면, 제3 노드에 RDF 트리플 해시 데이터의 제1 트리플 해시 데이터를 추가할 수 있다. 이러한 과정 역시, 제1 트리플 해시 데이터 또는 제3 트리플 해시 데이터에 대응하는 제3 노드의 존재 유무를 확인한 후 제3 노드를 생성할 것이다.
상술한 바와 같이 본 발명의 일 실시 예에 의한 RA 트리는 하나의 제2 트리플 해시 데이터에 대응하는 제1 노드의 하부 노드인 제2 노드에 RDF 트리플 해시 데이터의 제1 트리플 해시 데이터와 제3 트리플 해시 데이터를 모두 포함하는데, 이는 RDF 트리플 데이터를 검색 또는 액세스할 때, 주체와 객체 중 어느 하나의 값을 알 지 못할 경우에 알고 있는 데이터만을 이용하여 RDF 트리플 데이터의 검색 또는 액세스를 보다 효율적으로 수행하기 위함이다. 예를 들어, 검색 또는 액세스하고자 하는 RDF 트리플 데이터 중 주체와 술어만을 알고 있을 경우, 서버는 제2 트리플 해시 데이터를 제1 노드로 하고, 제1 트리플 해시 데이터를 제2 노드로 하는 RDF 트리플 데이터를 검색할 수 있다.
도 7은 본 발명의 일 실시 예에 의한 서버의 구성을 설명하기 위한 블록도이다. 도 7에서 도시되는 바와 같이, 본 발명의 일 실시 예에 의한 서버는 데이터 분리부(110), 해시 처리부(130), 트리 생성부(150)를 포함할 것이다.
데이터 분리부(110)는 RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하고, 상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리할 수 있다. 데이터 분리부(110)는 RDF 트리플 데이터를 주체 URL 데이터, 술어 URL 데이터, 객체 URL 데이터의 구성 요소로 분리하고, 주체 URL 데이터, 술어 URL 데이터, 그리고 객체 URL 데이터를 URL 속성에 따라 제1 속성 내지 제3 속성으로 각각 분리할 수 있다.
해시 처리부(130)는 제1 내지 제3 속성을 해시하여 제1 내지 제3 해시 값을 생성하며, 구성 요소 별로 생성된 상기 제1 내지 제3 해시 값을 해시하여 제1 내지 제3 RDF 트리플 해시 데이터를 생성할 수 있다. 보다 구체적으로 해시 처리부(130)는 제1 해시 처리부(131) 및 제2 해시 처리부(133)로 구분될 수 있다.
제1 해시 처리부(131)는 구성 요소 별 URL 데이터의 제1 내지 제3 속성을 해시하여 제1 내지 제3 해시 값을 생성할 수 있으며, 제2 해시 처리부(133)는 제1 내지 제3 해시 값을 한번 더 해시하여 구성 요소에 대응하는 제1 내지 제3 RDF 트리플 해시 데이터를 생성할 수 있다.
트리 생성부(150)는 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장할 수 있다. 트리 생성부(150)는 RDF 트리플 해시 데이터의 술어 해시 데이터, 즉 제2 RDF 트리플 해시 데이터를 이용하여 RA 트리의 루트 노드인 제1 노드를 생성할 수 있다. 이후, 트리 생성부(150)는 RDF 트리플 해시 데이터의 주체 및 객체 해시 데이터인 제1 및 제3 RDF 트리플 해시 데이터를 제1 노드의 하부 노드인 제2 노드에 추가할 수 있다. 마지막으로 트리 생성부(150)는 제1 RDF 트리플 해시 데이터에 대응하는 제2 노드의 하부 노드인 제3 노드에 제3 RDF 트리플 해시 데이터를 추가하고, 제3 RDF 트리플 해시 데이터에 대응하는 제2 노드의 하부 노드인 제3 노드에 제1 RDF 트리플 해시 데이터를 추가할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (8)

  1. 서버가 RA 트리를 이용하여 RDF 트리플 데이터를 압축하는 방법에 있어서,
    RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하는 a 단계;
    상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리하고, 상기 속성을 해시하여 해시 값을 생성하는 b 단계;
    상기 구성 요소 별로 생성된 상기 해시 값을 해시하여 RDF 트리플 해시 데이터를 생성하는 c 단계; 및
    상기 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장하는 d 단계를 포함하는 RDF 트리플 데이터 압축 방법.
  2. 제1항에 있어서,
    상기 구성 요소는 주체 URL 데이터, 술어 URL 데이터, 또는 객체 URL 데이터 중 적어도 하나를 포함하고,
    상기 URL 속성은 프로토콜과 호스트를 포함하는 제1 속성, 경로를 포함하는 제2 속성, 질의를 포함하는 제3 속성으로 구분되어,
    상기 b 단계는,
    상기 구성 요소 각각에 대하여 제1 내지 제3 속성을 분리하는 것을 특징으로 하는 RDF 트리플 데이터 압축 방법.
  3. 제2항에 있어서,
    상기 b 단계는,
    제1 해시 테이블을 이용하여, 상기 URL 속성에 따라 분리된 제1 내지 제3 속성을 해시하여 상기 URL 속성 별로 제1 내지 제3 해시 값을 생성하는 것을 특징으로 하는 RDF 트리플 데이터 압축 방법.
  4. 제3항에 있어서,
    제2 해시 테이블을 이용하여, 상기 주체 URL 데이터에 대응하는 제1 내지 제3 해시 값을 해시하여 제1 RDF 트리플 해시 데이터를 생성하는 단계;
    제3 해시 테이블을 이용하여, 상기 술어 URL 데이터에 대응하는 제1 내지 제3 해시 값을 해시하여 제2 RDF 트리플 해시 데이터를 생성하는 단계; 및
    상기 제2 해시 테이블을 이용하여, 상기 객체 URL 데이터에 대응하는 제1 내지 제3 해시 값을 해시하여 제3 RDF 트리플 해시 데이터를 생성하는 단계를 더 포함하는 RDF 트리플 데이터 압축 방법.
  5. 제4항에 있어서,
    상기 d 단계는,
    상기 제2 RDF 트리플 해시 데이터를 이용하여 루트 노드인 제1 노드를 생성하는 단계;
    상기 제1 및 제3 RDF 트리플 해시 데이터를 이용하여 상기 제1 노드의 하부 노드인 제2 노드를 생성하는 단계;
    상기 제1 RDF 트리플 해시 데이터에 대응하는 제2 노드를 생성하면, 상기 제3 RDF 트리플 해시 데이터를 이용하여 상기 제2 노드의 하부 노드인 제3 노드를 생성하는 단계; 및
    상기 제3 RDF 트리플 해시 데이터에 대응하는 제2 노드를 생성하면, 상기 제2 RDF 트리플 해시 데이터를 이용하여 상기 제3 노드를 생성하는 단계를 더 포함하는 RDF 트리플 데이터 압축 방법.
  6. 제5항에 있어서,
    상기 제1 내지 제3 노드를 생성하는 단계는,
    상기 제1 내지 제3 노드가 상기 RA 트리에 이미 존재하는 지 검색하고, 존재하지 않으면 상기 제1 내지 제3 노드를 생성하는 RDF 트리플 데이터 압축 방법.
  7. 제1항에 있어서,
    상기 RDF 트리플 해시 데이터는 오프셋을 이용하여 상기 RDF 트리플 데이터로 재변환 가능한 RDF 트리플 데이터 압축 방법.
  8. RA 트리를 이용하여 RDF 트리플 데이터를 압축하는 장치에 있어서,
    RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하고, 상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리하는 데이터 분리부;
    상기 속성을 해시하여 해시 값을 생성하며, 상기 구성 요소 별로 생성된 상기 해시 값을 해시하여 RDF 트리플 해시 데이터를 생성하는 해시 처리부; 및
    상기 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장하는 트리 생성부를 포함하는 RDF 트리플 데이터 압축 방법.
KR1020200008606A 2019-01-30 2020-01-22 Ra 트리를 이용한 rdf 트리플 데이터 압축 방법 및 장치 KR20200094673A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190011950 2019-01-30
KR1020190011950 2019-01-30

Publications (1)

Publication Number Publication Date
KR20200094673A true KR20200094673A (ko) 2020-08-07

Family

ID=72049877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200008606A KR20200094673A (ko) 2019-01-30 2020-01-22 Ra 트리를 이용한 rdf 트리플 데이터 압축 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20200094673A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220058357A (ko) * 2020-10-30 2022-05-09 충남대학교산학협력단 대량의 lod 저장을 위한 맵리듀스 기반 데이터 변환 시스템 및 방법
KR20220122563A (ko) 2021-02-26 2022-09-02 경희대학교 산학협력단 Rdf 데이터 압축 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220058357A (ko) * 2020-10-30 2022-05-09 충남대학교산학협력단 대량의 lod 저장을 위한 맵리듀스 기반 데이터 변환 시스템 및 방법
KR20220122563A (ko) 2021-02-26 2022-09-02 경희대학교 산학협력단 Rdf 데이터 압축 방법 및 장치

Similar Documents

Publication Publication Date Title
Fu et al. Enabling central keyword-based semantic extension search over encrypted outsourced data
Fu et al. Towards efficient content-aware search over encrypted outsourced data in cloud
CN106815350B (zh) 一种云环境中动态的密文多关键词模糊搜索方法
Chuah et al. Privacy-aware bedtree based solution for fuzzy multi-keyword search over encrypted data
US8032551B2 (en) Searching documents for successive hashed keywords
US6505191B1 (en) Distributed computer database system and method employing hypertext linkage analysis
US20160357860A1 (en) Natural language search results for intent queries
CN107368527B (zh) 基于数据流的多属性索引方法
US8296279B1 (en) Identifying results through substring searching
US20200042510A1 (en) Method and device for correlating multiple tables in a database environment
WO2011004846A1 (ja) 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体
CN101576929B (zh) 一种快速词条提示的实现方法
WO2010123705A2 (en) System and method for performing longest common prefix strings searches
US10496648B2 (en) Systems and methods for searching multiple related tables
KR20200094673A (ko) Ra 트리를 이용한 rdf 트리플 데이터 압축 방법 및 장치
Zhang et al. Mapping entity-attribute web tables to web-scale knowledge bases
Moataz et al. Semantic search over encrypted data
CN109255244B (zh) 数据加密方法及其装置、数据加密检索***
Liu et al. Multi-keyword ranked searchable encryption with the wildcard keyword for data sharing in cloud computing
Skobeltsyn et al. Query-driven indexing for scalable peer-to-peer text retrieval
Katib et al. RIQ: Fast processing of SPARQL queries on RDF quadruples
Li et al. Batch text similarity search with mapreduce
He et al. A fast and memory-efficient approach to NDN name lookup
CN114741467A (zh) 一种全文检索的方法及***
CN114465757A (zh) 一种基于Trie树实现DDOS用户匹配的方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application