KR101725502B1 - 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치 - Google Patents

시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치 Download PDF

Info

Publication number
KR101725502B1
KR101725502B1 KR1020160053653A KR20160053653A KR101725502B1 KR 101725502 B1 KR101725502 B1 KR 101725502B1 KR 1020160053653 A KR1020160053653 A KR 1020160053653A KR 20160053653 A KR20160053653 A KR 20160053653A KR 101725502 B1 KR101725502 B1 KR 101725502B1
Authority
KR
South Korea
Prior art keywords
candidate entity
entity view
information
view
group
Prior art date
Application number
KR1020160053653A
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 충북대학교 산학협력단
Priority to KR1020160053653A priority Critical patent/KR101725502B1/ko
Application granted granted Critical
Publication of KR101725502B1 publication Critical patent/KR101725502B1/ko

Links

Images

Classifications

    • G06F17/30731
    • 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
    • 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/9024Graphs; Linked lists
    • 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
    • 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
    • G06F17/30861
    • G06F17/30958
    • G06F17/30961

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)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치가 개시된다. 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법은 RDF 그래프로부터 후보 실체 뷰 집합을 생성하는 단계, 상기 후보 실체 뷰 집합에 대한 정보 및 사용된 질의 정보를 포함하는 정보 관리 테이블을 생성하는 단계, 정보 관리 테이블 및 의사 결정 트리를 기반으로 산출된 이득 값을 사용하여 후보 실체 뷰를 그룹핑하는 단계와 그룹핑된 후보 실체 뷰를 메모리 또는 디스크에 실체뷰로서 저장하는 단계를 포함할 수 있다.

Description

시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치{Method and apparatus for managing materialized view to enhance processing of semantic web data}
본 발명은 시맨틱 웹 데이터 처리에 관한 것으로서, 보다 상세하게는 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치에 관한 것이다.
90년대 초부터 www(world wide web)을 기반으로 한 다양한 웹 서비스들이 개발되고 있다. 일반적인 웹은 HTML(hypertext markup language)를 기반으로 하이퍼링크를 통해 다양한 문서들을 연결하고 태그를 이용한 다양한 시각적인 표현 방식을 제공할 수 있다. 그러나 일반적인 웹은 컴퓨터가 문서의 내용을 자동적으로 이해하고 처리할 수 없다는 문제점을 가지고 있다. 다양한 웹 문서가 인터넷을 통해 생성됨에 따라 컴퓨터가 웹 문서 내용을 자동적으로 인식하고 이해할 수 있는 시맨틱 웹이 제안되었다. 시맨틱 웹 상의 자원을 표현하기 위해 W3C(world wide web consortium)에서는 RDF(resource description framework)가 제안되었다. RDF는 웹 자원의 정보를 표현하기 위한 표준 언어로 웹 자원에 대한 메타데이터를 표현할 수 있다.
RDF는 주어(subject), 술어(predicate), 목적어(object)로 구성된 트리플 구조로 표현될 수 있다. RDF 트리플은 주어와 목적어를 노드(node)로 표현하고 술어를 간선(edge)으로 연결하여 그래프로 표현할 수 있다. RDF를 통해 웹 자원 간의 의미적 연관성이 표현됨으로써 보다 지능적인 정보 검색은 물론 자동화된 다양한 웹 서비스가 제공될 수 있다.
최근 빅데이터 시대의 도래와 함께 시맨틱 웹의 확산과 정부의 개방형 데이터 서비스, 소셜 웹 서비스의 등장으로 인해 웹의 RDF 데이터는 지속적으로 증가하고 있다. 일반적인 RDF 데이터베이스는 주어, 술어, 목적어로 구성된 단일 테이블로 저장된다. RDF 질의의 특성상 질의 처리시 조인(join) 횟수가 많다. 대규모 RDF 데이터가 단일 테이블 기반의 데이터베이스로 관리될 경우, 조인이 많은 질의의 처리 속도 측면에서 성능이 저하될 수 있다. RDF 데이터베이스는 단일 테이블로 이루어져 있기 때문에 조인 연산 중 셀프-조인(self-join) 연산이 대부분이다. RDF 트리플 형식의 데이터가 증가하여 테이블의 크기가 수 없이 커진다면 질의 처리시 많은 비용이 소요될 수 있다.
KR 10-2009-0044244
본 발명의 일 측면은 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법을 제공한다.
본 발명의 다른 측면은 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법을 수행하는 장치를 제공한다.
본 발명의 일 측면에 따른 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법은 RDF(resource description framework) 그래프로부터 후보 실체 뷰 집합을 생성하는 단계, 상기 후보 실체 뷰 집합에 대한 정보 및 사용된 질의 정보를 포함하는 정보 관리 테이블을 생성하는 단계, 상기 정보 관리 테이블 및 의사 결정 트리를 기반으로 산출된 이득 값을 사용하여 후보 실체 뷰를 그룹핑하는 단계와 상기 그룹핑된 후보 실체 뷰를 메모리 또는 디스크에 실체뷰로서 저장하는 단계를 포함할 수 있다.
한편, 상기 RDF 그래프는 RDF 데이터베이스 기반으로 구성된 노드의 집합 V와 간선의 집합 E로 구성되어 있는 방향성 그래프 G={V, E}이고, 상기 V는 상기 RDF 데이터베이스에서 모든 주어와 목적어의 값으로 구성된 노드의 집합이고, 상기 E는 주어와 목적어를 이어주는 모든 술어로 이루어진 간선의 집합이고, 상기 후보 실체 뷰 집합은 상기 RDF 그래프 내에서 임계 길이 이상의 가상 경로의 집합일 수 있다.
또한, 정보 관리 테이블은 관련 질문 정보, 질문 빈도 정보, 사이즈 정보, 업데이트 정보 및 레벨 정보를 포함하고, 상기 관련 질문 정보는 후보 실체 뷰를 사용하여 질의 처리가 가능한 질의 집합을 나타내며, 이득 함수에 사용되고, 상기 사이즈 정보는 해당 후보 실체 뷰의 크기를 나타내고, 상기 업데이트 정보는 과거부터 현재까지의 후보 실체 뷰에 속하는 노드들의 갱신 횟수의 총 합을 나타내고, 상기 레벨 정보는 실체 뷰가 관리되는 곳에 대한 정보를 나타낼 수 있다.
또한, 상기 이득 값은 상기 관련 질문 정보, 상기 질문 빈도 정보를 기반으로 산출될 수 있다.
또한, 상기 후보 실체 뷰를 그룹핑하는 단계는 상기 후보 실체 뷰의 BenefitF, size, update를 고려하여 상기 후보 실체 뷰를 제1 그룹, 제2 그룹 또는 제3 그룹으로 그룹핑하고, 상기 BenefitF는 상기 이득 값이고, 상기 Size는 상기 후보 실체 뷰의 크기로서 후보 실체 뷰를 실체화 하였을 때의 총 트리플의 수이고, 상기 Update는 각 후보 실체 뷰의 갱신율이고, 상기 제1 그룹은 메모리 공간 내에 저장되어 관리되고, 상기 제2 그룹은 상기 제1 그룹의 저장 후 상기 메모리 공간이 남은 경우, 상기 메모리 공간에 저장되고, 상기 메모리 공간이 남지 않은 경우, 디스크에 저장되고, 상기 제3 그룹은 상기 메모리 공간 및 디스크에 저장되지 않을 수 있다.
본 발명의 또 다른 측면에 따른 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 장치는 프로세서를 포함하고, 상기 프로세서는 RDF(resource description framework) 그래프로부터 후보 실체 뷰 집합을 생성하고, 상기 후보 실체 뷰 집합에 대한 정보 및 사용된 질의 정보를 포함하는 정보 관리 테이블을 생성하고, 상기 정보 관리 테이블 및 의사 결정 트리를 기반으로 산출된 이득 값을 사용하여 후보 실체 뷰를 그룹핑하고, 상기 그룹핑된 후보 실체 뷰를 메모리 또는 디스크에 실체뷰로서 저장하도록 구현될 수 있다.
한편, 상기 RDF 그래프는 RDF 데이터베이스 기반으로 구성된 노드의 집합 V와 간선의 집합 E로 구성되어 있는 방향성 그래프 G={V, E}이고, 상기 V는 상기 RDF 데이터베이스에서 모든 주어와 목적어의 값으로 구성된 노드의 집합이고, 상기 E는 주어와 목적어를 이어주는 모든 술어로 이루어진 간선의 집합이고, 상기 후보 실체 뷰 집합은 상기 RDF 그래프 내에서 임계 길이 이상의 가상 경로의 집합일 수 있다.
또는 정보 관리 테이블은 관련 질문 정보, 질문 빈도 정보, 사이즈 정보, 업데이트 정보 및 레벨 정보를 포함하고, 상기 관련 질문 정보는 후보 실체 뷰를 사용하여 질의 처리가 가능한 질의 집합을 나타내며, 이득 함수에 사용되고, 상기 사이즈 정보는 해당 후보 실체 뷰의 크기를 나타내고, 상기 업데이트 정보는 과거부터 현재까지의 후보 실체 뷰에 속하는 노드들의 갱신 횟수의 총 합을 나타내고, 상기 레벨 정보는 실체 뷰가 관리되는 곳에 대한 정보를 나타낼 수 있다.
또는 상기 이득 값은 상기 관련 질문 정보, 상기 질문 빈도 정보를 기반으로 산출될 수 있다.
또는 상기 프로세서는 상기 후보 실체 뷰의 BenefitF, size, update를 고려하여 상기 후보 실체 뷰를 제1 그룹, 제2 그룹 또는 제3 그룹으로 그룹핑하고, 상기 BenefitF는 상기 이득 값이고, 상기 Size는 상기 후보 실체 뷰의 크기로서 후보 실체 뷰를 실체화 하였을 때의 총 트리플의 수이고, 상기 Update는 각 후보 실체 뷰의 갱신율이고, 상기 제1 그룹은 메모리 공간 내에 저장되어 관리되고, 상기 제2 그룹은 상기 제1 그룹의 저장 후 상기 메모리 공간이 남은 경우, 상기 메모리 공간에 저장되고, 상기 메모리 공간이 남지 않은 경우, 디스크에 저장되고, 상기 제3 그룹은 상기 메모리 공간 및 디스크에 저장되지 않을 수 있다.
본 발명의 실시예에 따른 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치가 사용되는 경우, 후보 실체 뷰의 이득, 실체화 크기, 그리고 갱신율을 고려하여 의사 결정 트리를 구축함으로써 기존의 문제점인 역전 상황이 해결될 수 있다. 또한, 후보 실체 뷰가 그룹 기반으로 분류되어 관리됨으로써 효율이 떨어지는 그룹은 실체화에 있어서 배제될 수 있다. 이렇게 구축된 실체 뷰는 메모리와 디스크 간의 실체 뷰 교체 전략을 통하여 후보 실체 뷰의 재구축이 발생 전까지 교환될 수 있다. 따라서, 일정 공간에서의 실체 뷰 개수가 많이 구축되며 동일한 개수의 실체 뷰가 존재 시 갱신율이 감소될 수 있다.
도 1은 본 발명의 실시예에 따른 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법을 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 트리플 그래프를 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따른 RDF 그래프 및 후보 실체뷰를 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 후보 실체 뷰에 대한 선택을 위한 질의 예제를 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 의사 결정 트리를 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 의사 결정 트리르 이용한 뷰 선택 알고리즘을 나타낸 개념도이다.
도 7은 본 발명의 실시예에 따른 의사 결정 트리를 이용하여 3개의 그룹들을 메모리 또는 디스크에 저장하는 알고리즘을 나타낸 개념도이다.
도 8은 본 발명의 실시예에 따른 그룹 안에 있는 실체 뷰의 이득 값을 이용하여 정렬하는 순위 알고리즘을 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 메모리와 디스크 간의 실체 뷰 교체를 위한 의사 결정 트리를 나타낸 개념도이다.
도 10은 본 발명의 실시예에 따른 메모리와 디스크 간의 실체 뷰 교체 알고리즘 Replacement_Materialized_Views을 나타낸 개념도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조 부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
최근 RDF(resource description framework) 데이터에 대한 질의 처리 비용 감소를 위한 많은 연구들이 진행되었다. RDF 질의 처리 비용을 감소시키기 위한 RDF 데이터를 분산하여 저장하는 방법, 트리플 패턴에 대해 색인 구조 등에 대한 연구들이 진행되었다. 이러한 기법들은 질의 처리시 트리플 데이터의 효율적인 접근을 위한 기법으로서 동일 질의 또는 유사 질의 처리를 위해 반복적인 질의를 수행해야 한다. 현재 반복적인 질의의 수행을 줄이고자 기존 질의 처리 결과 및 중간 결과가 저장되고 기존 질의 처리 결과 및 중간 결과를 질의 처리에 활용하기 위한 실체 뷰 관리 기법에 대한 연구들이 활발히 이루어지고 있다.
실체 뷰(materialized view)는 오라클 데이터베이스에서 처음 도입된 것으로 질의의 결과를 저장하는 데이터베이스 객체이다. 이러한 실체 뷰는 테이블의 행이나 열의 집합 또는 조인(join), 집계 처리(aggregate operation) 결과일 수도 있다. 일반 뷰는 단지 질의 정보만을 저장하여 관리하며 사용시 질의를 다시 처리하여 사용자에게 제공할 수 있다. 실체 뷰는 질의 처리의 결과를 데이터베이스 내부에 물리적으로 저장하며 사용 시 전체 데이터베이스의 접근이 아닌 실체 뷰의 접근으로 질의 처리를 할 수 있기에 일반 뷰보다 빠르다. 하지만 실체 뷰는 하나 또는 그 이상의 테이블의 복사본이라고 볼 수 있기 때문에 데이터 저장소의 공간도 실제적으로 많이 차지하게 된다. 그렇기 때문에 빈번히 사용되는 특정 질의나, 질의 처리 비용이 고가인 질의 등의 결과가 실체 뷰로 저장될 수 있다.
RDF 트리플 데이터베이스는 단일 테이블로 구성되어 있어 질의 처리시 조인 비용이 크다. 실체 뷰는 질의 처리시 조인 비용 및 효율을 높여주는 방법으로 알려져 있다. 하지만 실체 뷰는 제한된 저장 공간의 일부분을 차지하기 때문에 효율이 높은 실체 뷰가 선택되어 구축되어야 한다. 실체 뷰의 문제를 해결하기 위해 Goasdou?, K. Karanasos, J. Leblay, and I. Manolescu, "View selection in semantic web databases," Proceedings of the VLDB Endowment, Vol.5, No.2, pp.97-108, 2011.에서는 질의 결과에 대해 4단계의 변환 과정을 통해 실체뷰가 선택될 수 있다.
구체적으로 4단계의 변환 과정은 아래와 같다. 첫번째 변환 단계인 뷰 브레이크(view break)는 그래프의 길이가 2 이상일 때 노드와 노드 사이의 가운데의 노드를 분할하는 단계이다. 두 번째 변환 단계는 셀렉션 컷(selection cut)으로서 노드의 인스턴스 값을 삭제하는 단계이다. 네번째 변환 단계를 위하여 각 노드의 인스턴스 값의 개수가 동일하게 맞춰질 수 있다. 세번째 변환 단계인 조인 컷(join cut)은 각 뷰 안의 노드들 간의 조인 관계를 잘라준다. 마지막으로 네번째 변환 단계인 뷰 퓨전(view fusion)은 위의 세 단계와 다르게 전체 뷰의 개수를 줄여주는 단계로써 서로 같은 뷰들에 대한 융합이 수행될 수 있다.
각각의 변환 단계들은 그에 맞게 질의를 재작성하여 관리될 수 있다. 4개의 변환 단계들은 휴리스틱 알고리즘을 통하여 모든 가능한 경우의 수를 계산하게 되며 그중 가장 효율이 좋은 단계를 선택하여 실체화될 수 있다. 실체화 뷰는 초기의 상태보다 뷰의 개수가 증가하게 되지만 크기가 줄어 더 많은 질의 결과를 실체화할 수 있다. 즉, 대용량의 단일 데이터베이스의 접근하여 질의 처리하는 비용보다 작은 여러 테이블의 조인 비용들이 훨씬 저렴하다는 관점에서 실체화 뷰가 적용될 수 있다.
V. Dritsou, P. Constantopoulos, A. Deligiannakis, and Y. Kotidis, "Optimizing query shortcuts in RDF databases," In Proceedings of 8th Extended Semantic Web Conference on The Semanic Web: Research and Applications, Springer-Verlag pp.77-92, 2011.에서는 후보 실체 뷰를 선택시 질의 빈도 및 후보 실체 뷰의 이익을 고려한 모델링이 수행되었다. 하지만 실제 환경에서 한정되어 있는 저장 공간 안에 후보 실체 뷰를 실체화시키는 것이 목적이기에 강승석, 신준호, "트리플 데이터베이스 단축 경로 이득 함수와 구성 인자 실험 분석", 한국전자거래학회지 19권, 제1호, pp.131-143, 2014.에서는 질의 빈도 및 단축 경로의 이익 뿐만이 아니라 단축 경로의 갱신 비용과 크기도 같이 고려한 모델링이 수행되었다.
트리플 데이터베이스 단축 경로 이득 함수와 구성 인자 실험 분석에서는 V. Dritsou, P. Constantopoulos, A. Deligiannakis, and Y. Kotidis에 의해 제시된 모델에 후보 실체 뷰의 크기 및 갱신율을 단순 고려하여 확장한 모델이 개시된다. 후보 실체 뷰 선택시 효율이 좋지 않은 후보 실체 뷰를 선택하여 실체화하는 역전 상황이 발생할 수 있다. 예를 들어, 역전 상황이란 후보 실체 뷰 A는 여러 질의 처리에 사용 가능 하지만 크기 및 유지 비용이 크다. 후보 실체 뷰 B는 하나의 질의 처리에 사용 가능하며 크기 및 유지비용이 작다. 이때 저장 공간은 후보 실체 뷰 A 또는 후보 실체 뷰 B 하나만을 저장할 수 있다. 실질적으로 여러 질의의 처리가 가능한 후보 실체 뷰 A를 구축하는 것이 좋지만 후보 실체 뷰의 크기와 유지비용이 크기 때문에 단축 경로 b가 선택될 가능성이 생기게 된다. 이를 역전 상황이라 정의한다.
역전 상황을 해결하기 위하여 본 발명에서는 의사 결정 트리를 사용한다. 의사 결정 트리는 3가지 속성(BeneficF, Size, Update)을 고려한다. 3가지 속성 중 BenefitcF 값을 실체 뷰의 크기 또는 갱신율보다 우선 고려하여 역전 상황의 발생을 최대한 억제한다. 또한 구축된 의사 결정 트리가 메모리와 디스크 간의 실체 뷰 교환 방법에도 사용될 수 있다. 본 발명에서는 이를 해결하기 위해 의사 결정 트리를 사용하여 실체 뷰가 선택될 수 있다. 제안하는 기법은 의사 결정 트리를 통해 질의 처리 시간뿐만 아니라 실체 뷰의 크기 및 유지 비용을 고려할 수 있다. 이를 통해 제한된 저장 공간에서의 실체 뷰는 증가하였고 동일 개수의 실체 뷰의 유지 비용은 감소될 수 있다.
본 발명에서는 질의 처리시 효율이 높은 후보 실체 뷰의 선택과 기존 기법의 문제점인 역전 상황을 최대한 방지하기 위한 방법이 개시된다. 이를 해결하고자 후보 실체 뷰의 이득, 실체 뷰 크기, 그리고 갱신율을 고려한 의사 결정 트리를 사용한 실체 뷰가 선택될 수 있다.
본 발명에서는 의사 결정 트리의 3가지 속성 중 실체 뷰의 이득을 먼저 고려하여 분류되기 때문에 역전 상황이 감소될 수 있다. 또한 후보 실체 뷰의 크기와 갱신율을 고려하여 실체 뷰의 유지 비용 또한 감소될 수 있다.
의사 결정 트리를 사용하여 후보 실체 뷰를 3가지 그룹으로 구분하는 결과가 생성될 수 있고, 3가지 그룹을 기반으로 질의 처리시 효율적인 후보 실체 뷰를 선택하여 구축 및 관리가 수행될 수 있다. 또한, 본 발명에서는 메모리와 디스크에 구축된 실체 뷰를 효율적으로 사용하기 위한 메모리와 디스크 간의 교체 전략이 수행될 수 있다.
실체 뷰는 한정된 크기의 저장소에 물리적으로 저장되기 때문에 모든 후보 실체 뷰가 실체화될 수는 없다. 따라서, 여러 후보 실체 뷰 중 많은 질의에 사용이 가능하거나 유지 비용이 적은 후보 실체 뷰에 대한 실체화가 필요하다.
전술한 바와 같이 기존의 실체뷰의 선택 방법은 상대적으로 효율이 좋지 않은 실체 뷰를 선택하는 역전 상황이 발생할 수 있다. 본 발명에서는 기존의 역전 상황을 방지하기 위해 다른 속성들보다 실체 뷰의 이익을 먼저 고려하는 의사 결정 트리가 사용될 수 있다. 또한 의사 결정 트리는 실체 뷰의 이익뿐만 아니라 실체 뷰의 크기와 갱신율을 고려하여 효율적인 후보 실체 뷰에 대한 선택을 가능하게 해줄 수 있다.
도 1은 본 발명의 실시예에 따른 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법을 나타낸 개념도이다.
도 1을 참조하면, 후보 실체 뷰를 생성할 수 있다(단계 S100).
먼저 구축되어 있는 RDF 트리플 그래프로부터 후보 실체 뷰 집합이 생성될 수 있다.
정보 관리 테이블을 생성한다(단계 S110).
생성된 후보 실체 뷰 집합의 정보, 사용된 질의 정보가 2개의 테이블로 관리될 수 있다. 2개의 테이블은 실체 뷰 선택과 후보 실체 뷰 이익 계산 및 의사 결정 트리의 재구축을 위해 사용될 수 있다.
의사 결정 트리를 기반으로 후보 실체 뷰가 선택될 수 있다(단계 S120).
각각의 후보 실체 뷰는 의사 결정 트리의 3가지 속성(benefitF, size, update)을 거쳐 3가지 그룹으로 분류될 수 있다. 3가지 그룹 중 첫 번째 그룹은 가장 효율성이 좋은 그룹으로써 우선적으로 선택되어 메모리에 실체화될 수 있다. 두 번째 그룹은 첫 번째 그룹이 메모리에 구축된 후 저장 공간에 여유 공간이 있을 시 메모리에 실체화되는 그룹으로서 나머지 후보 실체 뷰는 디스크에 구축될 수 있다. 세 번째 그룹은 효율이 떨어지는 그룹으로써 실체화에 있어서 배제될 수 있다.
실체뷰에 대한 교환 절차가 수행된다(단계 S130).
메모리와 디스크에 구축된 실체 뷰를 교체하기 위하여 기존에 구축된 의사 결정 트리에 다양한 조건(예를 들어, 완화된 조건과 엄격한 조건)이 적용될 수 있다. 메모리와 디스크 간의 실체 뷰 교체를 위한 의사 결정 트리는 2개의 그룹(M, D)으로 분류될 수 있다. 실체 뷰의 교체 상황 발생시 그룹 M에 포함되는 실체 뷰는 메모리에, 그룹 D의 실체 뷰들은 디스크에 구축된다. 완화한 조건과 엄격한 조건에 의하여 그룹 M과 그룹 D에 속하지 않는 실체 뷰들은 현재 상태를 유지할 수 있다. 그룹 M과 그룹 D에 속하지 않는 실체 뷰는 메모리 내에서 효율이 낮은 실체 뷰이고, 디스크 상에서는 효율이 높은 실체 뷰이다. 이 실체 뷰들은 메모리와 디스크 간의 실체 뷰 교체 발생 시 높은 교체율을 가지기 때문에 교체 비용을 줄이기 위하여 현재의 상태를 유지할 수 있다.
도 2는 본 발명의 실시예에 따른 트리플 그래프를 나타낸 개념도이다.
도 2를 참조하면, RDF 트리플은 주어와 목적어를 술어로 연결한 그래프로 노드와 노드 사이에 간선이 있는 방향성 그래프로 표현될 수 있다.
RDF 데이터베이스도 또한 노드와 노드 사이에 간선으로 연결된 커다란 그래프로 표현될 수 있다. 본 발명에서는 일반적인 그래프 표현 스킴(scheme)에 기반하여 RDF 그래프가 정의될 수 있다.
RDF 그래프는 후보 실체 뷰 생성 기반 데이터 구조로서 이용될 수 있다. RDF 데이터베이스 기반으로 구성된 RDF 그래프는 노드의 집합 V와 간선의 집합 E로 구성되어 있는 방향성 그래프 G={V, E}이다. 여기서, V는 RDF 데이터베이스에서 모든 주어와 목적어의 값으로 구성된 노드의 집합이다. 또한, E는 주어와 목적어를 이어주는 모든 술어로 이루어진 간선의 집합이다.
후보 실체 뷰는 RDF 그래프 내에서 특정 부분에 대한 가상 경로를 의미할 수 있다. 어떠한 부분 그래프를 실체화하여 관리할 경우, 질의 처리시 최상의 이익을 도출할지에 대해 판단하는 것은 어렵다. 그렇기에 후보 실체 뷰는 RDF 그래프에서 길이가 2이상(서로 다른 간선의 개수가 2개 이상)의 가능한 모든 부분 그래프의 가상 경로로 정의될 수 있다. 이렇게 정의되어진 후보 실체 뷰는 subv로 표현될 수 있고, 후보 실체 뷰의 집합 SUBV은 {subv1, subv1, ..., subvn}로 표현될 수 있다.
후보 실체 뷰의 집합은 이하, 설명될 의사 결정 트리를 기반으로 질의 처리 시 효율이 높은 후보 실체 뷰를 선택함으로써 실체화될 수 있다.
도 3은 본 발명의 실시예에 따른 RDF 그래프 및 후보 실체뷰를 나타낸 개념도이다.
도 3에서는 대학생의 정보를 표현하는 RDF 그래프 및 후보 실체 뷰에 대한 예시가 개시된다.
RDF 그래프에서 대학교 노드와 학번 노드를 직접적으로 잇는 간선은 실제로 존재하지 않는다. RDF 그래프에서 대학교 노드와 학번 노드의 두 데이터로부터 질의의 대답을 원한다면, 대학교 노드로부터 학과 노드, 학과 노드로부터 이름 노드, 이름 노드로부터 학번 노드까지 실제 존재하는 간선들을 따라 질의의 결과를 구해야 한다. 이러한 경우, 대학교 노드와 학번 노드를 잇는 가상 경로 subv1을 구축해 놓는다면, 대학교 노드에서부터 학번 노드까지의 질의 처리시 데이터의 연결 시간이 단축될 수 있다. 이러한 가상 경로 subv1는 후보 실체 뷰라고 정의되며, 후보 실체 뷰 집합은 SUBV은 {subv1, subv1, ..., subvn}로 표현될 수 있다.
후보 실체 뷰 선택 기법에서 중요한 다른 구성 요소는 질의이다. 질의 집합은 미리 구성된 질의들로 구성될 수 있으며, 질의는 사용자의 필요에 따라 시스템에서 요구되는 결과를 가져오기 위한 그래프에서의 특정 경로를 의미할 수 있다. 각각의 질의에 대해 질의가 요청된 횟수, 즉 질의 빈도가 주어진다. 질의의 집합 Q 는 {q1, q2, ..., qk}로 나타내질 수 있고, 각각의 질의 qk는 각각의 빈도수 fk를 가질 수 있다.
도 4는 본 발명의 실시예에 따른 후보 실체 뷰에 대한 선택을 위한 질의 예제를 나타낸 개념도이다.
도 4를 참조하면, 질의 예시로서 q1, q2, q3가 사용될 수 있다.
구체적으로 q1은 대학생의 정보를 처리하는 질의 패턴이며, 과거의 10번의 질의 요청이 이루어졌다.
q2는 대학생의 수업 정보를 처리하는 질의의 패턴이며, 과거 30번의 질의 요청이 이루어졌다.
q3는 어떤 학과에 소속된 학생의 이름을 원하는 질의 패턴이며, 과거 6번의 질의 요청이 이루어졌다.
정보 관리 테이블은 뒤에 나올 의사 결정 트리 구축과 이익 함수 및 의사 결정 트리의 속성에 사용되는 파라미터 값을 관리할 수 있다.
정보 관리 테이블에 대한 관리를 기반으로 후보 실체 뷰의 재구축시 빠른 선택이 수행될 수 있다. 또한 질의 처리시 질의를 처리할 수 있는 실체 뷰가 메모리에 존재하는지 여부를 알 수 있어 질의 처리의 효율이 향상될 수 있다.
아래의 표 1은 질의에 관련된 정보를 관리하는 테이블이다.
<표 1>
Figure 112016041847601-pat00001
subv set은 질의 처리시 사용 가능한 후보 실체 뷰의 집합을 나타내고, frequency는 질의의 빈도수, bestV는 subv set 중 해당 질의 처리에 가장 큰 이익을 가지는 후보 실체 뷰를 나타낸다. 예를 들어, 질의 q1을 처리시 메모리에 실체 뷰 subv1이 존재한다면 선택하여 처리한다. 메모리에 실체 뷰 subv1가 존재하지 않는다면 8개의 후보 실체 뷰의 접근이 아닌 실체 뷰 subv3, subv5 2개에 접근하여 선택하게 된다.
아래의 표 2는 의사 결정 트리를 통하여 후보 실체 뷰 선택 시 의사 결정 트리의 속성에 해당하는 정보를 관리하는 후보 실체 뷰 정보 관리 테이블을 나타낸다.
<표 2>
Figure 112016041847601-pat00002
관련 질문(related query)은 후보 실체 뷰를 사용하여 질의 처리가 가능한 질의 집합을 나타내며, 이득 함수에 사용된다. 사이즈(size)는 해당 후보 실체 뷰의 크기(트리플의 수)를 나타내며, 업데이트(update) 횟수는 과거부터 현재까지의 후보 실체 뷰에 속하는 노드들의 갱신 횟수의 총 합을 나타낸다. 한 노드의 갱신 횟수는 도 2에서 노드 위의 u로써 나타낼 수 있다.
예를 들어 후보 실체 뷰 subv1의 갱신 횟수는 노드 이름의 갱신 횟수 2와 노드 학번의 갱신 횟수 1을 합한 3일 수 있다. Level은 실체 뷰가 관리되는 곳을 나타낸다.
의사 결정 트리를 통하여 후보 실체 뷰 선택 시 표 2의 관련 질문(related query)의 정보와 표 1의 빈도(frequency)의 정보를 사용하여 이득 값이 구해질 수 있다. 표 2의 사이즈(size)와 업데이트(update) 횟수는 각각 의사 결정 트리 속성 사이즈(size), 업데이트(update)에 매칭되어 사용될 수 있다.
사전에 미리 주어진 RDF 그래프 G와 질의 집합 Q에 대하여 후보 실체 뷰 선택은 후보 실체 뷰들의 선택 시 얻을 수 있는 이득의 값을 최대화하는 것이 중요하다. 저장 공간 내에 선택되어 관리되는 후보 실체 뷰의 수가 많아짐에 따라 얻어지는 이득은 높아진다. 하지만 실제 환경에서는 실체 뷰가 저장될 수 있는 공간이 제한되며 저장되어 관리되는 실체 뷰들은 갱신되어 유지 비용이 소모된다.
이득 값을 구하는데 있어 가장 중요한 것은 질의 처리 비용의 절감과 질의 빈도이다. 질의 처리 절감 비용과 질의 빈도로 구해진 이득 값은 의사 결정 트리 3가지 속성 중에 가장 높은 정보 이득을 가지며 최상의 노드에 위치할 수 있다. 이는 후보 실체 뷰 선택 문제에 있어 후보 실체 뷰의 크기 및 갱신율 보다 중요하다는 것을 의미한다. 또한 3가지 속성 중 우선적으로 고려하여 기존 연구의 문제점 중 하나인 역전 상황을 해결한다.
기존에 후보 실체 뷰의 사용 없이 질의 처리 비용에 후보 실체 뷰를 사용한 질의 처리 비용을 뺀 값에 빈도를 곱하여 구하였다. 예를 들어, 질의 q1을 처리하는 후보 실체 뷰 subv1의 이득 값을 구한다면, f1x{비용(대학교→학과→이름→학번) - 비용(대학교 subv1 학번)}으로 계산된다. 즉, 총 후보 실체 뷰 subv1의 이득 값은 아래의 수학식1과 같이 계산한다.
<수학식 1>
Figure 112016041847601-pat00003
cost(qk)는 후보 실체 뷰 없이 질의 qk를 처리하는 비용이고, cost(qk, subv1)는 후보 실체 뷰 subv1를 사용하여 질의 q-k를 처리하는 비용이다. fk는 질의 qk에 해당하는 질의 빈도이다. RQi는 후보 실체 뷰 subv1를 사용하여 질의 처리를 할 수 있는 질의의 집합이다.
후보 실체 뷰를 선택하여 구축하는데 있어서 대부분 저장 공간의 크기가 제한되는 것이 일반적이다. 제한된 공간에서 선택된 후보 실체 뷰의 수가 많을수록 질의 처리에 있어 실체 뷰들의 총 이득이 늘어날 것이다. 또한, RDF 데이터베이스가 갱신이 이루어 질 때, 갱신되는 데이터를 포함한 실체 뷰 또한 갱신이 이루어져야 된다. 제한된 공간에 후보 실체 뷰의 갱신이 자주 일어난다면 유지 비용 측면에서의 비용이 많이 소모된다. 즉, 후보 실체 뷰의 크기와 갱신율에 따라 제한된 저장 공간 내에 선택된 실체 뷰들의 총 이득의 값은 변화할 것이다. 확장된 이득 모델은 후보 실체 뷰의 크기와 후보 실체 뷰의 갱신 비용의 합을 수학식 1에서 구해진 이득 값에 단순한 차로서 고려하였다.
기존 연구에서 사용되는 수학식1은 다음과 같을 때 문제점이 발생한다. 질의 qi의 질의 처리 시간이 10, 빈도 fj는 5이고, 질의 qj의 처리 시간이 5, 빈도 fj는 5이다({qi, qj}∈Q, i≠j). 이때, 질의 qi, qj를 후보 실체 뷰 subvi, subvj를 사용하여 처리하였을 때 각각 9와 4의 비용이 들 수 있다. 후보 실체 뷰 subvi, subvj의 이익은 식 3.1에 의하여 5의 값으로 동일 이득 값을 가지게 된다. 10에서 9보다 5에서 4로 처리 비용의 감소된 것 비율 측면에서는 더 큰 이득이다.
본 발명에서는 정확성을 더욱 높이기 위하여 수학식 1에서 후보 실체 뷰 없이 처리된 비용과 후보 실체 뷰를 활용하여 처리된 비용의 비율을 구함으로써 이득 값의 정확성을 높였다. 즉, 아래의 수학식2을 기반으로 이득 값이 계산될 수 있다.
<수학식 2>
Figure 112016041847601-pat00004
위의 예를 수학식 2에 대입하여 이익 값을 구한다면 후보 실체 뷰 subvi의 이익은 0.5이고 후보 실체 뷰 subvj의 이익은 1이 구해진다. 두 개의 후보 실체 뷰 중 선택되는 후보 실체 뷰는 subvi가 된다. 본 발명에서는 이렇게 구해진 이득을 의사 결정 트리에서 우선적으로 고려하여 후보 실체 뷰의 크기 및 갱신율을 비교하기 전에 이득 값을 비교하여 기존 연구의 문제점 중 하나인 역전 상황의 발생을 최소화하였다.
도 5는 본 발명의 실시예에 따른 의사 결정 트리를 나타낸 개념도이다.
도 5에서는 의사 결정 트리를 사용하여 후보 실체 뷰를 선택하는 방법이 개시된다.
도 5를 참조하면, 의사 결정 트리는 데이터 마이닝에서 일반적으로 사용되는 방법론으로서 몇몇 입력 변수를 기반으로 목표 변수의 값을 예측하는 모델을 생성하는 것을 목표로 한다. 의사 결정 트리는 하나의 트리 구조를 이루고 있으며 노드(속성)라 불리는 구성 소들로 이루어질 수 있다. 각 노드는 루트 노드에서부터 잎(leaf) 노드까지 높은 정보 분류 이득을 가진 순서대로 구축될 수 있다. 실체화할 후보 실체 뷰 선택을 위하여 3가지 속성 BenefitF, size, update가 의사 결정 트리에서 고려될 수 있다. BenefitF는 이득 값으로 전술한 바와 같이 산출될 수 있다. 속성 BenefitF는 후보 실체 뷰 선택에 있어 가장 중요한 값이다. Size는 후보 실체 뷰의 크기로서 후보 실체 뷰를 실체화 하였을 때의 총 트리플의 수를 나타낸다. Size는 표 2의 size의 정보를 사용하여 비교할 수 있다. Update는 각 후보 실체 뷰의 갱신율이다.
갱신율은 표 2의 Update 횟수와 총 질의 횟수를 사용하여 산출될 수 있다. 단, RDF 데이터베이스 그래프의 노드의 갱신율은 전체 질의 처리 횟수 보다 작아야 한다. 후보 실체 뷰의 크기와 갱신율을 의사 결정 트리의 속성 값을 사용함으로써 제한된 저장 공간 내에 후보 실체 뷰들의 개수 및 유지 비용 측면에서의 이득을 얻을 수 있다. 3개의 속성은 각각의 조건 a, b, c는 전체 후보 실체 뷰의 평균으로 하였다.
의사 결정 트리는 3개의 속성을 고려하여 후보 실체 뷰를 최종적으로 {1, 0, -1} 3개의 그룹으로 분류하여 후보 실체 뷰 선택을 수행할 수 있다. 그룹 1에 해당되는 후보 실체 뷰는 3개의 그룹 중 가장 효율이 좋은 후보 실체 뷰의 집합으로써 이익 값으로 순위를 매겨 제한된 메모리 공간 내에 실체 뷰로 우선시되어 저장되어 관리될 수 있다. 그룹 -1에 해당되는 후보 실체 뷰는 그룹 1에 해당되는 후보 실체 뷰가 메모리 공간 내에 저장된 후 메모리 내의 공간이 남았다면 이익 순위에 따라 저장될 수 있다. 메모리 내에 공간이 부족하다면 디스크에 저장되어 관리된다. 그룹 0은 가장 효율이 떨어지는 후보 실체 뷰의 집합으로 메모리 또는 디스크에 저장되어지지 않으며 후보 실체 뷰의 가상 경로만을 관리한다.
도 6은 본 발명의 실시예에 따른 의사 결정 트리르 이용한 뷰 선택 알고리즘을 나타낸 개념도이다.
알고리즘1은 후보 실체 뷰 선택시 의사 결정 트리를 이용하여 선택될 뷰의 그룹(group)을 선택하는 과정을 보여준다. 알고리즘 1에 입력되는 매개변수 BenefitF 값과 Size 및 Update 값은 질의 정보 관리 테이블과 후보 실체 뷰 정보 관리 테이블을 이용할 수 있다.
줄 1-13은 도 5에서 첫 번째 속성인 BenefitF의 왼편을 의미하며 리턴 값으로 Group -1 또는 Group 0을 받아 분류된다. 줄 14-26은 BenefitF의 오른편을 의미하며 Group 1 또는 Group -1을 리턴 값으로 받아 분류된다. 3개의 그룹은 알고리즘 2에서 사용된다.
도 7은 본 발명의 실시예에 따른 의사 결정 트리를 이용하여 3개의 그룹들을 메모리 또는 디스크에 저장하는 알고리즘을 나타낸 개념도이다.
도 7을 참조하면, 알고리즘 2에서는 3개의 그룹 중 그룹 0은 효율이 떨어지는 후보 실체 뷰의 집합으로 사용하지 않으며 그룹 1과 그룹 -1만을 고려할 수 있다. 먼저 가장 효율이 좋은 그룹 1부터 메모리에 실체 뷰를 구축하여 관리할 수 있다. 구축되는 순서는 이익 값 높은 실체 뷰부터 구축되며, 메모리 공간이 부족할 시 나머지 실체 뷰들은 디스크에 구축되어 관리될 수 있다. 줄 1은 알고리즘 3을 호출하여 그룹 1의 실체 뷰들을 이익 값으로 정렬하게 한다. 정렬된 실체 뷰들은 줄 2-11에서 메모리의 저장 공간이 남아 있다면 메모리에 구축되며, 저장 공간이 부족하면 디스크에 구축된다. 줄 12-28은 우선적으로 그룹 1이 구축된 뒤의 그룹 -1의 구축 과정을 나타낸다. 그룹 1이 메모리에 저장된 후 메모리 공간이 남아 있다면 그룹 -1도 메모리에 구축된다. 구축 공간이 부족할 경우, 그룹 -1은 디스크에 구축되어 관리될 수 있다.
도 8은 본 발명의 실시예에 따른 그룹 안에 있는 실체 뷰의 이득 값을 이용하여 정렬하는 순위 알고리즘을 나타낸 개념도이다.
도 8에서 입력되는 매개 변수는 해당 그룹(Group[])의 리스트와 리스트의 길이이다. Group[]은 알고리즘 3에 의해 오름차순으로 정렬될 수 있다. 줄 4에서 j번째 실체 뷰의 이득 값과 j+1번째 실체 뷰의 이득 값을 비교하여 j번째 실체 뷰의 이득 값이 작은 경우 줄 5-7에서 j번째와 j+1번째의 실체 뷰를 교환하여 저장될 수 있다. 정렬이 완료된 그룹은 줄 11에서 알고리즘 2로 반환하여 사용될 수 있다.
기존 RDF 기반의 실체 뷰 선택 기법에서는 메모리 또는 디스크 한곳에서만 선택되어 실체 뷰가 관리되었다. 본 발명에서는 기존 기법과 달리 메모리와 디스크 두 단계의 저장소에서 실체 뷰를 관리할 수 있다. 그에 따른 메모리와 디스크 간의 실체 뷰 교체 전략이 요구된다.
본 발명에서는 의사 결정 트리로부터 후보 실체 뷰가 3개의 그룹(-1, 0, 1)으로 분류되어 실체 뷰가 관리될 수 있다. 그룹 -1과 그룹 1은 메모리와 디스크에 구축되며 그룹 0은 배제되어 후보 실체 뷰의 정보만을 유지할 수 있다. 메모리와 디스크에 구축된 실체 뷰를 교체하기 위하여 기존에 구축된 의사 결정 트리에 완화한 조건과 엄격한 조건이 적용되어 사용될 수 있다.
도 9는 본 발명의 실시예에 따른 메모리와 디스크 간의 실체 뷰 교체를 위한 의사 결정 트리를 나타낸 개념도이다.
도 9를 참조하면, 의사 결정 트리는 2개의 그룹으로 분류될 수 있다.
그룹 M에 포함되는 실체 뷰는 메모리에 구축될 수 있다. 그룹 D의 실체 뷰들은 디스크에 저장될 수 있다. 완화된 조건과 엄격한 조건에 의하여 그룹 M과 그룹 D에 속하지 않는 실체 뷰들은 현재 상태를 유지할 수 있다. 그룹 M과 그룹 D에 속하지 않는 실체 뷰들은 메모리에서는 효율이 낮은 실체 뷰이고, 디스크 상에서는 효율이 높은 실체 뷰이다. 이 실체 뷰들은 메모리와 디스크 간의 실체 뷰 교체 발생시 높은 교체율을 가진다. 교체 비용을 줄이기 위하여 완화된 조건과 엄격한 조건이 사용될 수 있다. 완화된 조건은 메모리에서 디스크로 실체 뷰 교체 시 사용되며 엄격한 조건은 디스크에서 메모리로 실체 뷰 교체시 사용될 수 있다.
도 10은 본 발명의 실시예에 따른 메모리와 디스크 간의 실체 뷰 교체 알고리즘 Replacement_Materialized_Views을 나타낸 개념도이다.
도 10을 참조하면, 임의 질의를 처리 후 임의 질의에 관련된 실체 뷰가 매개 변수로서 입력될 수 있다.
줄 1-13은 의사 결정 트리의 왼편을 나타내며 조건에 충족되지 않는 실체 뷰는 현재 상태를 유지한다. 줄 14-26은 의사 결정 트리의 오른편을 나타내며 조건에 충족되지 않는 실체 뷰는 현재 상태를 유지할 수 있다.
조건에 충족된 실체 뷰는 해당되는 저장 공간에 구축되며 후보 실체 뷰 정보 테이블에 레벨(Level) 정보가 반환된다.
이와 같은 금융 정보를 통합적으로 관리하는 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있고, 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법은,
    RDF(resource description framework) 그래프로부터 후보 실체 뷰 집합을 생성하는 단계;
    상기 후보 실체 뷰 집합에 대한 정보 및 사용된 질의 정보를 포함하는 정보 관리 테이블을 생성하는 단계;
    상기 정보 관리 테이블 및 의사 결정 트리를 기반으로 산출된 이득 값을 사용하여 후보 실체 뷰를 그룹핑하는 단계; 및
    상기 그룹핑된 후보 실체 뷰를 메모리 또는 디스크에 실체뷰로서 저장하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 RDF 그래프는 RDF 데이터베이스 기반으로 구성된 노드의 집합 V와 간선의 집합 E로 구성되어 있는 방향성 그래프 G={V, E}이고,
    상기 V는 상기 RDF 데이터베이스에서 모든 주어와 목적어의 값으로 구성된 노드의 집합이고,
    상기 E는 주어와 목적어를 이어주는 모든 술어로 이루어진 간선의 집합이고,
    상기 후보 실체 뷰 집합은 상기 RDF 그래프 내에서 임계 길이 이상의 가상 경로의 집합인 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    정보 관리 테이블은 관련 질문 정보, 질문 빈도 정보, 사이즈 정보, 업데이트 정보 및 레벨 정보를 포함하고,
    상기 관련 질문 정보는 후보 실체 뷰를 사용하여 질의 처리가 가능한 질의 집합을 나타내며, 이득 함수에 사용되고,
    상기 사이즈 정보는 해당 후보 실체 뷰의 크기를 나타내고,
    상기 업데이트 정보는 과거부터 현재까지의 후보 실체 뷰에 속하는 노드들의 갱신 횟수의 총 합을 나타내고,
    상기 레벨 정보는 실체 뷰가 관리되는 곳에 대한 정보를 나타내는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 이득 값은 상기 관련 질문 정보, 상기 질문 빈도 정보를 기반으로 산출되는 것을 특징으로 하는 방법.
  5. 제3항에 있어서, 상기 후보 실체 뷰를 그룹핑하는 단계는,
    상기 후보 실체 뷰의 BenefitF, size, update를 고려하여 상기 후보 실체 뷰를 제1 그룹, 제2 그룹 또는 제3 그룹으로 그룹핑하고,
    상기 BenefitF는 상기 이득 값이고,
    상기 Size는 상기 후보 실체 뷰의 크기로서 후보 실체 뷰를 실체화 하였을 때의 총 트리플의 수이고,
    상기 Update는 각 후보 실체 뷰의 갱신율이고,
    상기 제1 그룹은 메모리 공간 내에 저장되어 관리되고,
    상기 제2 그룹은 상기 제1 그룹의 저장 후 상기 메모리 공간이 남은 경우, 상기 메모리 공간에 저장되고, 상기 메모리 공간이 남지 않은 경우, 디스크에 저장되고,
    상기 제3 그룹은 상기 메모리 공간 및 디스크에 저장되지 않는 것을 특징으로 하는 방법.
  6. 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 장치에 있어서,
    상기 실체 뷰 관리 장치는 프로세서를 포함하고,
    상기 프로세서는 RDF(resource description framework) 그래프로부터 후보 실체 뷰 집합을 생성하고,
    상기 후보 실체 뷰 집합에 대한 정보 및 사용된 질의 정보를 포함하는 정보 관리 테이블을 생성하고,
    상기 정보 관리 테이블 및 의사 결정 트리를 기반으로 산출된 이득 값을 사용하여 후보 실체 뷰를 그룹핑하고,
    상기 그룹핑된 후보 실체 뷰를 메모리 또는 디스크에 실체뷰로서 저장하도록 구현되는 것을 특징으로 하는 실체 뷰 관리 장치.
  7. 제6항에 있어서,
    상기 RDF 그래프는 RDF 데이터베이스 기반으로 구성된 노드의 집합 V와 간선의 집합 E로 구성되어 있는 방향성 그래프 G={V, E}이고,
    상기 V는 상기 RDF 데이터베이스에서 모든 주어와 목적어의 값으로 구성된 노드의 집합이고,
    상기 E는 주어와 목적어를 이어주는 모든 술어로 이루어진 간선의 집합이고,
    상기 후보 실체 뷰 집합은 상기 RDF 그래프 내에서 임계 길이 이상의 가상 경로의 집합인 것을 특징으로 하는 실체 뷰 관리 장치.
  8. 제6항에 있어서,
    정보 관리 테이블은 관련 질문 정보, 질문 빈도 정보, 사이즈 정보, 업데이트 정보 및 레벨 정보를 포함하고,
    상기 관련 질문 정보는 후보 실체 뷰를 사용하여 질의 처리가 가능한 질의 집합을 나타내며, 이득 함수에 사용되고,
    상기 사이즈 정보는 해당 후보 실체 뷰의 크기를 나타내고,
    상기 업데이트 정보는 과거부터 현재까지의 후보 실체 뷰에 속하는 노드들의 갱신 횟수의 총 합을 나타내고,
    상기 레벨 정보는 실체 뷰가 관리되는 곳에 대한 정보를 나타내는 것을 특징으로 하는 실체 뷰 관리 장치.
  9. 제8항에 있어서,
    상기 이득 값은 상기 관련 질문 정보, 상기 질문 빈도 정보를 기반으로 산출되는 것을 특징으로 하는 실체 뷰 관리 장치.
  10. 제8항에 있어서,
    상기 프로세서는 상기 후보 실체 뷰의 BenefitF, size, update를 고려하여 상기 후보 실체 뷰를 제1 그룹, 제2 그룹 또는 제3 그룹으로 그룹핑하고,
    상기 BenefitF는 상기 이득 값이고,
    상기 Size는 상기 후보 실체 뷰의 크기로서 후보 실체 뷰를 실체화 하였을 때의 총 트리플의 수이고,
    상기 Update는 각 후보 실체 뷰의 갱신율이고,
    상기 제1 그룹은 메모리 공간 내에 저장되어 관리되고,
    상기 제2 그룹은 상기 제1 그룹의 저장 후 상기 메모리 공간이 남은 경우, 상기 메모리 공간에 저장되고, 상기 메모리 공간이 남지 않은 경우, 디스크에 저장되고,
    상기 제3 그룹은 상기 메모리 공간 및 디스크에 저장되지 않는 것을 특징으로 하는 실체 뷰 관리 장치.
KR1020160053653A 2016-05-01 2016-05-01 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치 KR101725502B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160053653A KR101725502B1 (ko) 2016-05-01 2016-05-01 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160053653A KR101725502B1 (ko) 2016-05-01 2016-05-01 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101725502B1 true KR101725502B1 (ko) 2017-04-12

Family

ID=58580156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160053653A KR101725502B1 (ko) 2016-05-01 2016-05-01 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101725502B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090044244A (ko) 2007-10-31 2009-05-07 삼성정밀화학 주식회사 길이방향 웨이브 패턴의 프리즘 산과 확산부를 갖는 프리즘시트, 이를 채용한 백라이트 유니트, 및 상기 백라이트유니트를 구비한 액정표시장치
US20120303668A1 (en) * 2011-05-24 2012-11-29 Oracle International Corporation Method and system for presenting rdf data as a set of relational views

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090044244A (ko) 2007-10-31 2009-05-07 삼성정밀화학 주식회사 길이방향 웨이브 패턴의 프리즘 산과 확산부를 갖는 프리즘시트, 이를 채용한 백라이트 유니트, 및 상기 백라이트유니트를 구비한 액정표시장치
US20120303668A1 (en) * 2011-05-24 2012-11-29 Oracle International Corporation Method and system for presenting rdf data as a set of relational views

Similar Documents

Publication Publication Date Title
US10810191B2 (en) Limiting scans of loosely ordered and/or grouped relations in a database
US7599934B2 (en) Server side filtering and sorting with field level security
KR102054568B1 (ko) 필터링 데이터 계통 다이어그램
US11170306B2 (en) Rich entities for knowledge bases
Galbrun et al. From black and white to full color: extending redescription mining outside the Boolean world
Lin et al. Website reorganization using an ant colony system
Xiao et al. SWEclat: a frequent itemset mining algorithm over streaming data using Spark Streaming
KR20060045924A (ko) 객체 모델의 영향 분석 시스템 및 방법
CA2659743A1 (en) Primenet data management system
US11853400B2 (en) Distributed machine learning engine
Mezni et al. Reusing process fragments for fast service composition: a clustering-based approach
KR102153259B1 (ko) 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법
Tayal et al. A new MapReduce solution for associative classification to handle scalability and skewness in vertical data structure
Hussain et al. A methodology to rank the design patterns on the base of text relevancy
Amato et al. Big data processing for pervasive environment in cloud computing
KR101725502B1 (ko) 시맨틱 웹 데이터 처리 성능 향상을 위한 실체 뷰 관리 방법 및 장치
US11847121B2 (en) Compound predicate query statement transformation
Shaharanee et al. Irrelevant Feature and Rule Removal for Structural Associative Classification Using Structure-Preserving Flat Representation
Milios et al. Component aggregation for PEPA models: An approach based on approximate strong equivalence
Bodra Processing queries over partitioned graph databases: An approach and it’s evaluation
Torre-Bastida et al. Query rewriting for an incremental search in heterogeneous linked data sources
Hirchoua et al. Topic hierarchies for knowledge capitalization using hierarchical Dirichlet processes in big data context
Zhang et al. Scalable iterative implementation of mondrian for big data multidimensional anonymisation
Beach A Methodology to Identify Alternative Suitable NoSQL Data Models via Observation of Relational Database Interactions
Zhu et al. Optimization of generic progressive queries based on dependency analysis and materialized views

Legal Events

Date Code Title Description
GRNT Written decision to grant