KR19990055219A - 에이치티엠엘(html) 문서 저장 및 검색 시스템 - Google Patents
에이치티엠엘(html) 문서 저장 및 검색 시스템 Download PDFInfo
- Publication number
- KR19990055219A KR19990055219A KR1019970075131A KR19970075131A KR19990055219A KR 19990055219 A KR19990055219 A KR 19990055219A KR 1019970075131 A KR1019970075131 A KR 1019970075131A KR 19970075131 A KR19970075131 A KR 19970075131A KR 19990055219 A KR19990055219 A KR 19990055219A
- Authority
- KR
- South Korea
- Prior art keywords
- document
- tag
- search
- database
- query
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 객체지향 데이터베이스를 이용하여 에이치티엠엘(HTML) 문서를 저장하고 검색하는 에이치티엠엘 문서 저장 및 검색 시스템에 관한 것으로, 특히 에이치티엠엘 문서의 태그 정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템에 관한 것이다.
본 발명은 상용 검색엔진과 종래의 에이치티엠엘 문서 검색 시스템에서 지원하지 않는 에이치티엠엘 문서의 모든 구조에 대한 검색을 태그 정보만을 이용해 지원하며, 이를 위하여 본 발명에서는 에이치티엠엘 문서의 문서형 정의부를 데이터베이스의 스키마로 변환하여 문서의 내용과 구조를 데이터베이스 내에 저장하며, 사용자 인터페이스를 질의문으로 변환하고, 변환된 질의문을 다시 효율적인 질의문으로 변환함으로써, 에이치티엠엘 문서의 모든 태그에 대해 별도의 질의어나 시스템 확장 없이 태그 정보만을 이용해 문서의 내용 기반 검색과 완전한 구조 기반 검색을 동시에 지원하는 것이다.
따라서, 본 발명의 시스템은 많은 에이치티엠엘 문서를 사용하는 인트라넷 환경 등에 응용될 수 있으며, 종래의 인터넷 검색 엔진들을 보완하는 검색 엔진으로 사용될 수 있다.
Description
본 발명은 객체지향 데이터베이스를 이용하여 에이치티엠엘(HTML) 문서를 저장하고 검색하는 에이치티엠엘 문서 저장 및 검색 시스템에 관한 것으로, 특히 에이치티엠엘 문서의 태그 정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템에 관한 것이다.
월드 와이드 웹(World Wide Web : WWW)은 인터넷을 기반으로 한 하이퍼미디어(hypermedia) 정보시스템이다[참조문헌 : Lemay, L., Teach Yourself Web Publishing with HTML 3.2 in 14 days, Sams.net Publishing, 1996.]
월드 와이드 웹은 하이퍼미디어 문서의 일종인 에이치티엠엘(HTML : Hyper Text Markup Language)문서를 사용하여 사용자가 인터넷을 항해(navigation)하면서 원하는 문서를 찾을 수 있도록 함으로써 현재 인터넷에서 가장 성공적인 시스템이 되었다. 문서에 포함된 다른 문서로의 링크(link)를 따라 정보 네트웍(network)을 항해할 수 있는 이 기능은 하이퍼미디어의 강력한 기능이지만 하이퍼미디어 네트웍을 효율적으로 접근하기 위해서는 항해를 보완할 수 있는 질의 검색 방법이 필요하다[참조문헌: Halasz, F., "Reflections on Notecards : Seven Issues for the Next Generation of Hypermedia Systems," Comm. of the ACM, pp.836-852, Vol. 31, No 7, July 1988.].
그러나 질의 기반 접근 방법을 제공하는 종래의 문서 검색 시스템은 문서를 단어의 집합으로 보아 구조화되지 않은 문서의 집합에 대해 질의를 수행하였고, 대부분의 시스템이 텍스트를 단어의 연속으로만 보아 문서의 구조를 무시하였다. 즉, 문서에 대한 내용 검색만을 지원하며 문서의 논리적 구조를 검색에 적절히 활용하지 못하고 있다[참조문헌: 이봉신, 최윤철, "구조화된 문서를 위한 정보검색 시스템," 한국정보과학회 가을 학술발표논문집, Vol. 24, No. 2, pp.357-360, 1997]. 이와 같은 검색 시스템으로는 단순히 키워드(keyword)에 대한 검색만을 할 수 있는데, 사용자가 원하는 문서의 조건을 정확하게 명시한 정교한 검색을 할 수 있으려면 문서의 구조에 대한 검색이 가능해야만 한다.
또한, 다음의 참조문헌에서와 같이 그 동안 몇몇 연구에서 구조를 가진 문서, 특히 에스지엠엘(SGML : Standard Generalized Markup Language) 문서를 관리하려는 시도를 해왔으나, 이 연구들은 메타언어(meta language)인 에스지엠엘을 다루고 프로토타입(prototype) 수준인 것이 많아 실제로 웹 상에서 사용하기에는 적합하지 않았다.
참조문헌:
1. Christophides, V. et al., "From Structured Documents to Novel Query Facilities, " In proc. of the ACM SIGMOD Int'l conf. on Management of Data, pp. 313-324, Minneapolis, May 1994.
2. Bohm K. and Aberer K., "Amplifying the Scope of Document Handling: An Object-Oriented Database Application Framework for Structure Document Storage," GMD Technical Report, 1995.
3. Ozsu, M., Szafron. D., El-Medani, g., Vittal C., "An object-oriented multimedia database system for a news-on-demand application," Multimedia systems, pp. 182-203, 1995.
4. 김현기, 등, "하이퍼미디어 응용을 위한 구조정보관리 시스템의 구현," 한국정보과학회논문지, 제 3 권 제 2 호, 1997.
현재 월드 와이드 웹의 내용을 검색하기 위해서는 인터넷 검색 엔진이라고 불리는 검색 도구를 사용해야 하는데, 인터넷 검색 엔진은 문서의 내용을 검색할 수는 있으나 문서의 구조에 기반한 검색은 지원하지 않기 때문에 사용자가 이를 사용하여 문서의 구조에 기반한 정교한 질의를 할 수 없다. 그러므로 월드 와이드 웹의 수많은 에이치티엠엘 문서에 대해 내용 기반 검색(content-based retrieval) 뿐만 아니라 구조 기반 검색(structure-based retrieval)까지 지원해 줄 수 있는 검색 도구가 필요하다.
에이치티엠엘 문서에 대해 설명한다.
에이치티엠엘 문서는 월드 와이드 웹의 표준 문서 형식으로 에스지엠엘에 기반을 두고 있다. 에스지엠엘은 에이치티엠엘과 같은 문서 기술 언어를 정의할 수 있는 언어로서 문서형 정의부를 이용하여 문서의 형태를 기술한다. 따라서 에이치티엠엘 문서는 문서의 구조를 기술한 문서형 정의부의 규칙을 따른다.
또한 에이치티엠엘 문서는 문서의 내용과 구조 정보인 태그(tag)로 구성되어 있다. 태그는 문서의 구조를 표시하며 기본 문법인 <태그>텍스트</태그>의 형태를 가지며, 속성을 가질 수도 있다.
여기서, 속성은 각 태그가 가질 수 있는 성질을 표현하는 것으로, 예를 들어 글자의 크기를 변경하는 태그의 경우, 글자의 크기를 속성으로 가진다. 또한, 속성은 속성이름과 속성값의 쌍으로 표현된다. 예를 들어 두 개의 속성을 갖는 태그의 경우 <태그 속성이름1 = 속성값1 속성이름2 = 속성값2>텍스트</태그>의 형태가 된다. 태그는 <태그>와 </태그> 사이의 텍스트에만 영향을 미친다.
도 1은 에이치티엠엘 문서의 기본 구조를 나타낸 것으로, 이를 설명하면 에이치티엠엘 문서는 먼저, 'HTML'이라는 가장 큰 범위의 태그로 시작하며, 'HTML' 태그 내에는 다시 'HEAD' 태그와 'BODY' 태그가 포함될 수 있다. 'HEAD' 태그 내에는 문서에 대한 정보, 즉 문서의 제목이라든지 문서가 저장되어 있는 서버의 위치 등이 포함될 수 있으며, 'BODY' 태그 내에는 실제 문서의 내용이 포함된다. 'HEAD' 태그 내에 포함될 수 있는 태그는 그 종류가 정해져 있고 대부분 한 번씩만 포함될 수 있다는 제약조건이 있으나 'BODY' 태그에 대해서는 그러한 조건이 부여되어 있지 않다. 즉, 'HEAD' 태그 내의 구조는 정해져 있으나, 'BODY' 태그 내의 구조는 정해져 있지 않고 문서마다 각기 다르다.
에이치티엠엘 문서 검색 시스템에서는 크게 내용 기반 검색과 구조 기반 검색을 지원한다. 내용 기반 검색은 전체 문서의 내용에 대한 검색을 말하며, 구조 기반 검색은 문서의 구조 정보별 내용 검색인 태그 기반 내용 검색, 구조 정보에 대한 태그의 특정 속성 검색, 특정 태그의 존재 여부 검색 그리고 링크에 대한 검색을 포함한다.
종래의 에이치티엠엘 문서 검색 시스템에 대해 설명한다.
인터넷 검색 엔진으로 이용되는 상용 검색 엔진들은 문서에 대한 내용 기반 검색은 지원하나 구조 기반 검색은 지원하지 않는다. 상용 검색 엔진 중 디지털 이큅먼트(Digital Equipment Corp.)사의 알타비스타(Alta Vista)[참조: Digital Equipment Corporation, Alta Vista homepage, http://www.altavista.digital.com, 1997.]는 앵커(anchor), 애플릿(applet), 이미지(image), 타이틀(title) 태그들에 대해서만 구조 기반 검색을 지원하고 있고, 모든 태그에 대한 구조 기반 검색은 지원하지 않는다.
또한 포항공대의 Ajax-1[참조문헌: 서동렬 등, "Ajax-1 : 객체지향데이터베이스를 이용한 웹 자원 관리 시스템," 데이터베이스연구회지, 제 13 권 2호, pp. 56-68, 1997.]은 에이치티엠엘 문서를 현재 웹 브라우저의 북마크(bookmark) 수준보다 효율적으로 관리하기 위해 개발된 시스템으로 에이치티엠엘 문서에서 자동 추출된 몇 가지 기본 태그(title, url, heading, image)를 참고하여 사용자가 문서에 대한 정보를 입력하여 문서를 관리하고 있다. 이 시스템에서는 오브젝트스토어(ObjectStore) 데이터베이스를 이용하여 문서를 관리하는데, 에이치티엠엘 문서의 내용과 구조 정보에 대한 검색을 하는 시스템이 아닌 문서에 관한 정보를 저장하고 검색하는 문서 관리 시스템이다. 이 시스템은 문서의 내용 기반 검색을 지원하지 않는다.
캐나다의 토론토 대학에서 개발한 웹 에스큐엘 질의 엔진(WebSQL Query Engine)은 에이치티엠엘 문서들을 문서(Document)와 앵커(Anchor)라는 두 개의 가상 릴레이션(relation)을 갖는 관계형 데이터베이스로 모델링하여 질의와 제한된 정도의 항해를 함께 할 수 있도록 해 주는 언어인 웹 에스큐엘(WebSQL)을 처리하는 시스템이다[참조: Arocena G., et al., "Application of a Web Query Language," http://www.cs.toronto.edu/~websql/www-conf/wsql/PAPER267.html,1997.; Univ. of Toronto, " WebSQL: An SQL-like query language for the World Wide Web," http://www.cs.toronto.edu/~websql/overview.html,1997.].
그러나 이 시스템은 실제로는 데이터베이스를 사용하지 않으며, 에이치티엠엘 문서를 해석할 때 문서의 구조를 고려하지 않고 단순한 텍스트의 연속으로 해석한다. 이 시스템은 자바 클래스들로 만들어져 있으며 사용자의 질의를 상용 인터넷 검색 엔진으로 보내어 처리한다. 또한 이 시스템은 링크에 대한 질의와 제한된 태그(title, url)에 대한 내용 기반 검색을 지원하나 모든 태그에 대한 구조 기반 검색은 지원하지 않는다.
본 발명은 상기와 같은 종래 에이치티엠엘 검색 시스템과 달리 에이치티엠엘 문서의 태그 정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템을 제공하는 데 그 목적이 있다.
도 1은 에이치티엠엘 문서의 기본 구조
도 2는 본 발명에 따른 시스템의 개략적인 전체 구조도
도 3은 본 발명에 따른 시스템의 검색 실행 화면
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 검색할 태그의 조건 명시 영역
20 : 출력할 태그의 조건 명시 영역
100 : 컴퓨터 110 : CPU
120 : 메모리 130 : 월드 와이드 웹 영역
131 : 웹 브라우저 132 : 웹 서버
140 : 저장 및 검색 시스템 영역 141 : 사용자 인터페이스
142 : 저장 모듈 143 : 검색 모듈
144 : 문서 복원 게이트웨이
150 : 객체지향 데이터베이스 영역
151 : 데이터베이스 클라이언트 152 : 데이터베이스 서버
153 : 에이치티엠엘 문서 데이터베이스
상기와 같은 목적을 달성하기 위한 본 발명의 에이치티엠엘 문서 저장 및 검색 시스템의 전체 구성은도 2에 나타낸 바와 같다.
즉, 본 발명의 시스템은 월드 와이드 웹 영역(130), 저장 및 검색 시스템 영역(140) 및 객체지향 데이터베이스 영역(150)으로 구성된다.
또한 상기 월드 와이드 웹 영역(130)은 웹 브라우저(131)와 웹 서버(132)로 이루어지며, 상기 저장 및 검색 시스템 영역(140)은 크게 저장 모듈(141), 검색 모듈(142), 사용자 인터페이스(143) 그리고 문서 복원 게이트웨이(144)로 구성되며, 상기 객체지향 데이터베이스 영역(150)은 데이터베이스 클라이언트(151)와 데이터베이스 서버(152) 및 에이치티엠엘 문서들을 저장하고 있는 에이치티엠엘 문서 데이터베이스(153)로 이루어진다.
이와 같은 구성을 갖는 본 발명의 시스템을 이용하여 사용자는 사용자 인터페이스(141)와 웹 브라우저(131)만으로 문서를 저장하고 검색할 수 있다.
이를 상세히 설명하면, 본 발명의 저장 및 검색 시스템 영역(140)은 사용자가 웹 브라우저(131)에서 보고 있는 문서를 에이치티엠엘 문서 데이터베이스(153)에 저장하거나, 검색한 문서를 웹 브라우저(131)에서 볼 수 있게 해 주는 기능을 가지고 있으며, 이는 저장 모듈(142)과 검색 모듈(143)이 객체지향 데이터베이스 영역(150)과 사용자 인터페이스(141) 사이에 위치하여 실제 문서의 저장과 검색을 담당하고, 문서 복원 게이트웨이(144)가 월드 와이드 웹 영역(130)과 데이터베이스 서버(152)를 연결하여, 검색된 문서를 에이치티엠엘 문서 데이터베이스(153)에서 읽어와서 웹 서버(132)로 전달해 주는 역할을 함으로써 저장 및 검색이 가능하게 된다.
본 발명의 시스템에서는 넷스케이프(Netscape) 웹 브라우저를 사용하며, 넷스케이프 클라이언트 API를 사용하여 웹 브라우저(131)에 나타난 문서를 에이치티엠엘 문서 데이터베이스(153)에 저장할 수 있게 하고, 에이치티엠엘 문서 데이터베이스(153)에 저장된 문서를 문서 복원 게이트웨이(144)가 추출하게 하여 웹 브라우저(131)에서 볼 수 있게 한다.
도 3은 본 발명의 시스템의 검색화면을 나타낸 것으로 사용자 인터페이스(141)는 크게 주 화면과 검색 화면의 두 가지로 되어있다. 주화면은 사용자가 처음 시스템을 구동시켰을 때 나타나고 이 화면에서 사용자는 문서를 저장, 검색, 삭제하며 검색의 결과로 나온 문서의 내용을 화면에 출력할 것을 요청할 수 있다. 사용자가 주 화면에서 검색(Search) 버튼을 누르면 검색 화면이 나타난다. 검색 화면은 찾고자 하는 조건을 나타내는 검색식(Expression)을 기입하는 영역과, 결과로서 출력될 내용을 선택하는 영역의 두 영역으로 나뉜다.
본 발명의 시스템에서는 기본적으로 사용자가 직접 검색식을 쓰지 않고 버튼과 선택 박스 등의 쉬운 인터페이스 요소들을 선택하여 검색식을 만들어 내는 방법을 사용하고 링크에 대한 질의를 포함한 복잡한 질의에 대해서는 직접 검색식을 쓸 수 있게 하였다.
상기와 같은 구성을 갖는 본 발명의 시스템의 저장 방법에 대해 상세하게 설명하면, 저장 모듈(142)은 문서의 내용 기반 검색과 구조 기반 검색이 동시에 가능하도록 태그를 분리하지 않은 에이치티엠엘 문서 전체를 저장하고 이와는 별도로 문서의 구조 정보인 태그들을 저장한다. 즉, 태그를 기반으로 하여 문서의 내용과 구조 정보를 데이터베이스에 저장한다.
또한 내용 기반 검색에서는 정보 검색 인덱스를 구성하기 위하여 키워드를 추출할 때 태그를 임시적으로 필터링(filtering) 기술을 이용하여 분리하며, 구조 기반 검색은 별도로 저장해 놓은 태그 정보를 이용한다. 이와 같은 방법은 태그를 분리하지 않은 문서 전체를 저장하고 있기 때문에 문서를 추출할 때 내용과 태그를 합병할 필요가 없으므로 문서 추출이 효율적이다.
그리고 문서의 구조를 모델링하기 위해 본 발명에서는 에이치티엠엘 문서의 문서형 정의부를 데이터베이스의 스키마(schema)로 변환하는 방법[참조문헌: Christophides, V. et al., "From Structured Documents to Novel Query Facilities, " In proc. of the ACM SIGMOD Int'l conf. on Management of Data, pp. 313-324, Minneapolis, May 1994.]을 사용한다. 이 방법은 문서를 클래스들의 구조로 표현하므로 문서의 구조 기반 검색 시 특정 클래스의 객체들만 검색하면 되므로 효율적인 검색이 가능하다.
본 발명에서 사용한 문서형 정의부를 데이터베이스 스키마로 변환하는 규칙은 다음과 같다.
<문서형 정의부를 데이터베이스 스키마로 변환하는 규칙>
1. 모든 태그는 하나의 데이터베이스 클래스로 표현한다.
2. 모든 태그는 문서 내에서의 위치 정보(시작 위치와 끝 위치)를 가진다.
3. 모든 태그는 자신을 포함한 문서를 가리키는 포인터를 갖는다.
4. 각 태그의 속성은 클래스 내부의 데이터 멤버로 표현한다.
5. 문서형 정의부에서 같은 위치에 올 수 있는 태그들은 상위 클래스를 정의하여 그 클래스를 상속을 받게 한다.
다음은 상기의 규칙을 이용하여 변환한 클래스의 한 예를 보인 것이다.
class Body {
d_List<BodyContentEntity>content;
char background[256];
char bgcolor[8];
char text[8];
char link[8];
char vlink[8];
char alink[8];
}
여기서, d_List<BodyContentEntity>content는 Body가 포함할 수 있는 태그들의 리스트를 나타내며, background 배경 그림의 파일명, bgcolor는 배경색, text는 글자색, link는 방문하지 않은 링크의 색, vlink는 방문한 링크의 색, alink는 커서를 누를 때 보여줄 링크의 색으로 'BODY' 태그의 속성을 나타낸다.
상기의 클래스 'Body'는 변환 규칙 1에 따라 에이치티엠엘 문서의 'BODY'라는 태그를 변환한 것이고, 클래스 'Body'에서 'background'부터 'alink'까지의 데이터 멤버들은 'BODY' 태그의 속성들을 나타내며 이는 변환 규칙 4를 적용한 것이다.
규칙 2와 3은 모든 태그에 공통으로 해당되는 사항이며, 이에 따라 모든 태그를 'Tag'라는 최상위 수준의 클래스에서 상속받게 하였다. 클래스 'Tag'의 내부에는 모든 태그에 공통으로 들어있는 속성인 태그의 위치 정보와 자신을 포함한 문서를 가리키는 포인터가 포함되어 있다. 클래스 'Tag'의 구조는 다음과 같다.
class Tag{
int nameID;
long sByteOffset;
long sSentence;
int sWord;
long eByteOffset;;
long eSentence;
int eWord;
}
여기서, nameID는 태그의 이름을 나타내며, sByteOffset, sSentence, sWord는 태그의 시작 위치를 각각 바이트 정보, 문장 번호, 단어번호로 나타낸 것이며 eByteOffset;, eSentence, eWord는 태그의 끝 위치를 각각 바이트 정보, 문장번호, 단어번호로 나타낸 것이다.
다음은 변환 규칙 5를 적용한 예이다.
문서형 정의부 <!ELEMENT APPLET ‥ (PARAM|%test)*>에 나타난 것처럼 'APPLET' 태그는 'PARAM'이나 '%text'의 리스트를 포함할 수 있는 태그이다. 규칙 5에 따라 문서형 정의부에서 같은 위치에 나타난 태그 'PARAM'과 '%text'는 'AppletEntity'라는 상위 클래스를 정의하여 그 클래스의 상속을 받게 한다. 실제 클래스 'Applet'은 'AppletEntity'의 리스트로 변환한다.
<!ELEMENT APPLET ‥ (PARAM|%test)*>
class AppletEntity{
}
class Param : public AppletEntity{
char name[100];
char value[100];
}
class TextEntity : public AppletEntity{
}
class Applet{
d_List<AppletEntity> content;
…
}
여기서, class Param : public AppletEntity 는 'AppletEntity'의 상속을 받은 클래스 'Param'을 나타내고, class TextEntity : public AppletEntity 는 'AppletEntity'의 상속을 받은 클래스 'TextEntity'를 나타낸다.
본 발명의 시스템의 검색 모듈(143)은 사용자 인터페이스(141)를 통해 사용자가 요구한 검색 요구를 데이터베이스가 이해할 수 있는 질의문으로 변환시켜 준다. 또한 질의 처리 결과를 받아 다시 사용자 인터페이스(141)에 전달하여 사용자가 그 결과를 볼 수 있게 한다.
이러한 검색 모듈(143)에서 지원하는 검색에는 크게 내용 기반 검색과 구조 기반 검색이 있으며, 내용 기반 검색은 문서 전체에 대한 내용 검색을 말하고, 구조 기반 검색은 태그 기반 내용 검색, 태그의 특정 속성 검색, 특정 태그의 존재 여부 검색 및 링크에 대한 검색을 포함하며, 이를 상세히 설명하면 다음과 같다.
문서 전체에 대한 내용 검색은 본문 중에 특정 키워드가 나타나는 문서를 검색하는 것으로,검색예 1은 전체 문서에 대한 내용 기반 검색의 일 예를 나타낸 것이다. 여기서, 질의는 문서의 내용부분(d.text)에 찾고자 하는 단어인 "멀티미디어"가 있는 문서를 검색하여 검색된 문서의 제목을 출력한다. 이 질의에서 'MATCH'라는 술어(predicate)는 두 번째 인자인 키워드가 첫 번째 인자인 텍스트 내에 나타나는 문서를 검색하는 역할을 한다.
<검색예 1>
본문 중에 "멀티미디어"라는 단어가 있는 문서의 제목을 출력하라.
SELECT d.html.head.title.getText()
FROM HTMLDocument
WHERE MATCH(d.text, "멀티미디어") > 0
태그 기반 내용 검색은 특정 키워드가 주어진 태그의 내용에 나타나는 문서를 검색하는 것으로검색예 2는 태그 기반 내용 검색의 한 예이다. 이 질의는 찾고자 하는 키워드 "멀티미디어"가 문서 전체가 아닌 특정 태그의 내용에 나타나는 문서를 검색하여 검색된 문서의 유알엘(URL : Uniform Resource Locator)을 출력한다. 이 질의에서는 sSentence, sWord, eSentence, eWord 등의 태그 위치 정보를 사용한다.
<검색예 2>
제목에 "멀티미디어"라는 단어가 들어있는 문서의 URL을 출력하라.
SELECT t.document.url
FROM Title t
WHERE MATCH(t.document.text, "멀티미디어",
t.sSentence,t.sWord,t.eSentence,t.eWord) > 0
특정 속성 검색은 주어진 태그가 특정한 속성값을 가지고 있는 문서를 검색하는 것으로검색예 3은 특정 속성 검색의 한 예이다. 이 질의는 이미지 태그 내의 속성인 'src'안에 "picture.jpg"이라는 문자열이 포함된 문서를 검색하여 검색된 문서의 제목을 출력한다. 이 질의에서 'LIKE' 연산자는 'LIKE' 다음에 나오는 문자열과 유사한 패턴을 찾아주는 연산자이다.
<검색예 3>
"picture.jpg"라는 이름의 그림이 포함되어 있는 문서의 제목을 출력하라.
SELECT i.document.html.head.title.getText()
FROM Img i
WHERE i.src LIKE "*picture.jpg*"
특정 태그의 존재 여부 검색은 특정 태그를 포함한 문서를 검색하는 것으로,검색예 4는 특정 태그의 존재 여부를 검색하는 한 예이다. 이 질의는 특정 태그의 객체만을 검색하여 그 객체가 포함된 문서를 찾아 제목을 출력한다.
<검색예 4>
'Applet' 태그를 가지고 있는 문서의 제목을 모두 출력하라.
SELECT a.doctument.html.head.title.getText()
Applet a
링크에 대한 검색은 어떤 조건을 만족하는 문서가 가리키는 문서들 중에서 또 다른 조건을 만족하는 문서를 검색하는 것으로검색예 5는 링크에 대한 검색의 한 예이다. 이 질의는 제목에 "데이터베이스"라는 단어가 포함되어 있는 문서 't1'을 찾아 't1'이 가리키는 문서들 중에 제목에 "멀티미디어"라는 단어가 포함된 문서 't2'를 검색하고 검색된 문서의 제목을 출력한다.
<검색예 5>
제목에 "데이터베이스"란 단어를 포함하고 있는 문서가 가리키는 문서 중에 제목에 "멀티미디어"란 단어를 포함하는 문서를 찾아 그 문서의 제목을 출력하라.
SELECT t2.getText()
FROM Title t1, Title t2, A a, HTMLDocument d1, HTMLDocument d2
WHERE MATCH(t1.document.text, "데이터베이스",
t1.sSentence, t1.sWord, t1.eSentence, t1.eWord) > 0
AND MATCH(t2.document.text, "멀티미디어",
t2.sSentence, t2.sWord, t2.eSentence, t2.eWord) > 0
AND a.document = d1 AND a.href = d2.url
AND t1.document = d1 AND t2.document = d2
도 3은 질의문 생성 단계의 입력이라 볼 수 있는 사용자 인터페이스 중 검색 화면을 나타낸 것이고, 검색 모듈(143)은 사용자 인터페이스(141)의 입력을 다음의 규칙에 따라 질의문으로 변환한다.
<사용자 인터페이스를 질의문으로 변환하여 생성하는 규칙>
1. SELECT 절
사용자 인터페이스(141)에서 출력할 태그의 조건 명시 영역(20)인 "Output:" 은 결과로 보여줘야 할 태그들이므로 질의문 SELECT 절에 넣는다.
2. FROM 절
사용자 인터페이스(141)의 "Find what:" 은 검색할 태그의 조건 명시 영역(10)이고, "Output:" 은 검색의 결과로 출력할 태그의 조건 명시 영역(20)이므로 질의문의 FROM 절에 삽입한다.
3. WHERE 절
"Find what:" 은 검색할 태그의 조건을 명시하는 영역(10)이므로 WHERE절에 삽입하고, 명시된 조건이 하나가 아닌 경우 이 조건들을 동시에 만족시키도록 결합(join) 연산식을 추가한다. 결합 연산식은 "Find what:" 과 "Output:" 에 나타난 태그들이 모두 같은 문서 내에 포함된다는 조건을 명시함으로써 생성된다.
상기와 같은 질의문 생성 규칙은 사용자 인터페이스(141)에서 나타난 식을 그대로 변환할 수는 있으나 결합 연산식의 비용이 크므로 가능하다면 객체지향 데이터베이스의 경로식으로 변환하는 것이 훨씬 효율적인 검색을 가능하게 한다. 그리고 경로식으로의 변환의 문서의 구조가 확정되어 있어 어떤 경로를 따라 접근할 지를 알 수 있어야 한다.
때문에 경로식으로 변환할 수 있는 질의는 에이치티엠엘 문서에서 'HEAD' 태그 내에 포함되는 태그에 대한 질의뿐이다. 왜냐하면 'HEAD' 태그 내의 구조는 확정되어 있어서 객체의 접근 경로를 알 수 있지만 'BODY' 태그 내의 구조는 확정되어 있지 않으므로 객체의 접근 경로를 알 수 없기 때문이다.
'HEAD' 태그 내의 태그 중 'TITLE' 태그는 검색에서 가장 많이 사용되는 태그로서 에이치티엠엘 문서가 필수적으로 포함해야만 하는 유일한 태그이다. 또한 문서의 title에 대한 검색은 전체 에이치티엠엘 문서 검색의 대부분을 차지하므로'TITLE' 태그의 검색만이라도 효율적인 경로식으로 변환할 수 있다면 많은 시간을 절약할 수 있다.
다음은 경로식을 사용하지 않은 문서 제목에 대한 질의를 경로식을 사용한 질의로 변환하는 방법이다.
<경로식을 사용한 질의문으로 변환하는 방법>
1. FROM 절에 포함된 'Title' 태그가 아닌 태그를 하나 선택한다.
2. 1에서 선택된 태그를 포함한 문서 객체로 접근한다.
3. 2에서 접근한 문서 객체의 복합 계층 구조를 따라 "Title' 태그에 접근하는 경로식을 SELECT 절에 명시한다.
검색예 6은 질의문을 경로식을 사용하지 않은 경우와 경로식을 사용한 경우의 차이를 보여주는 예이다. (a)는 질의문을 경로식을 사용하지 않고 표현한 것이고, (b)는 (a)와 같은 질의문을 경로식으로 표현한 것이다.
(a)에서는 'Img' 태그와 'Title'태그의 객체들끼리 결합이 일어나므로 검색이 효율적이지 않다.
(b)에서는 상기한 경로식을 사용한 질의문 변환 방법에 따라, FROM 절에 포함되어 있고 'Title' 태그가 아닌 태그인 'Img' 태그를 선택하여 'Img' 태그를 포함하는 문서 객체인 'document' 에 접근하고, 문서의 복합 계층 구조를 따라 'Title' 태그에 접근하는 'html','head','title'까지의 경로식을 SELECT 절에 명시하였다. (b)의 질의는 결합 연산없이 'Img' 태그의 객체로부터 직접 'title' 객체를 접근하므로 효율적인 검색이 가능하다.
<검색예 6>
"picture.jpg" 이라는 이름의 그림이 포함되어 있는 문서의 제목을 출력하라.
(a) 경로식을 사용하지 않은 질의문
SELECT t.getText()
FROM Img I, Title t
WHERE i.src LIKE "*picture.jpg*"
AND i.doctument = t.document
(b)경로식을 사용한 질의문
SELECT i.document.html.head.title.getText()
FROM Img I
WHERE i.src LIKE "*picture.jpg*"
상술한 바와 같이 본 발명은, 종래 에이치티엠엘 문서 검색 시스템들이 대부분 문서 전체에 대한 내용 기반 검색만을 지원하거나, 구조 기반 검색을 지원하는 시스템들도 모든 태그가 아닌 제한된 태그에 대한 검색만을 질의어 확장 등의 방법을 사용하여 지원하는 것과 달리 에이치티엠엘 문서의 모든 태그에 대해 별도의 질의어나 시스템 확장 없이 태그 정보만을 이용해 문서의 내용 기반 검색과 완전한 구조 기반 검색을 동시에 지원하며, 사용자에게 본 발명의 시스템을 사용하여 에이치티엠엘 문서에 대한 다양하고 새로운 질의를 할 수 있도록 한 것이다.
따라서, 본 발명의 에이치티엠엘 저장 및 검색 시스템은 많은 에이치티엠엘 문서를 사용하는 인트라넷 환경 등에 응용될 수 있으며, 종래의 인터넷 검색 엔진들을 보완하는 검색 엔진으로 사용될 수 있다.
Claims (9)
- 태그 기반 구조 정보 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템에 있어서,태그를 기반으로 하여 문서의 내용과 구조 정보를 데이터베이스에 저장하는 것을 특징으로 하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 1항에 있어서,문서의 태그 정보를 모델링하여 데이터베이스 스키마로 변환하여 저장하는 것을 특징으로 하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 2항에 있어서,태그 정보의 데이터베이스 스키마로의 변환은 첫째, 모든 태그는 하나의 데이터베이스 클래스로 표현하고 둘째, 모든 태그는 문서 내에서의 위치 정보(시작 위치와 끝 위치)를 가지며, 셋째 모든 태그는 자신을 포함한 문서를 가리키는 포인터를 가지고, 넷째 각 태그의 속성은 클래스 내부의 데이터 멤버로 표현되며, 다섯째 문서형 정의부에서 같은 위치에 올 수 있는 태그들은 상위 클래스를 정의하여 그 클래스를 상속을 받게 하는 변환규칙에 따라 변환되는 것을 특징으로 하는 태그정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 1항에 있어서,문서의 태그 정보를 이용하여 문서의 내용과 구조 정보를 검색하는 것을 특징으로 하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 1항 내지 제 4항 중 어느 한 항에 있어서,웹 브라우저(131)와 웹 서버(132)로 이루어진 월드 와이드 웹 영역(130)과; 검색할 태그의 조건 명시 영역(10)인 "Find what:" 과 검색의 결과로 출력할 태그의 조건 명시 영역(20)인 "Output:" 으로 이루어진 사용자 인터페이스(141)와, 객체지향 데이터베이스 영역(150)과 상기 사용자 인터페이스(141) 사이에 위치하여 실제 문서의 저장과 검색을 담당하는 저장 모듈(142) 및 검색 모듈(143)과, 월드 와이드 웹 영역(130)과 객체지향 데이터베이스 영역(150)을 연결하며 검색된 문서를 객체지향 데이터베이스 영역(150)에서 읽어와서 웹 서버(132)로 전달해 주는 문서 복원 게이트웨이(144)로 이루어진 저장 및 검색 시스템 영역(140)과; 데이터베이스 클라이언트(151)와, 데이터베이스 서버(152) 및 에이치티엠엘 문서들을 저장하고 있는 에이치티엠엘 문서 데이터베이스(153)로 이루어진 객체지향 데이터베이스 영역(150)으로 구성되는 것을 특징으로 하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 5항에 있어서,상기 검색 모듈(143)은 사용자 인터페이스(141)의 검색할 태그의 조건 명시 영역(10)인 "Find what:"을 통해 사용자가 요구한 검색 요구를 데이터베이스가 이해할 수 있는 질의문으로 변환시켜 주며, 질의 처리 결과를 받아 다시 사용자 인터페이스(141)의 출력할 태그의 조건 명시 영역(20)인 "Output:" 에 전달하여 사용자가 그 결과를 볼 수 있도록 하는 것을 특징으로 하는 태그정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 6항에 있어서,상기 검색모듈(143)은 사용자의 요구를 데이터베이스가 이해할 수 있는 질의문으로 변환함에 있어 사용자 인터페이스(141)의 "Find what:" 은 검색할 태그의 조건 명시 영역(10)이므로 질의문의 FROM 절 및 WHERE 절에 삽입하고, "Output:" 은 출력할 태그의 조건 명시 영역(20)이므로 질의문 SELECT 절 및 FROM 절에 삽입하며, 또한 명시된 조건이 하나가 아닌 경우 이 조건들을 동시에 만족시키도록 결합 연산식을 추가하며, 결합 연산식은 "Find what:" 과 "Output:" 에 나타난 태그들이 모두 같은 문서 내에 포함된다는 조건을 명시함으로써 생성되는 규칙에 따라 변환하는 것을 특징으로 하는 태그정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 7항에 있어서,상기 검색 모듈(143)은 검색 요구를 질의문으로 변환함에 있어 문서의 구조가 확정되어 있는 경우에는 객체지향 데이터베이스의 경로식을 사용하여 질의문으로 변환하는 것을 특징으로 하는 에이치티엠엘 문서 저장 및 검색 시스템.
- 제 8항에 있어서,검색 요구를 객체지향 데이터베이스의 경로식을 사용하여 질의문으로 변환함에 있어 첫째, FROM 절에 포함된 검색 대상 태그가 아닌 태그를 하나 선택하고 둘째, 선택된 태그를 포함한 문서 객체로 접근하며 셋째, 접근한 문서 객체의 복합 계층 구조를 따라 검색 대상 태그에 접근하는 경로식을 SELECT 절에 명시하는 변환 규칙에 따라 변환하는 것을 특징으로 하는 태그정보를 이용하여 구조 기반 검색을 지원하는 에이치티엠엘 문서 저장 및 검색 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970075131A KR100303153B1 (ko) | 1997-12-27 | 1997-12-27 | 에이치티엠엘(html)문서저장및검색시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970075131A KR100303153B1 (ko) | 1997-12-27 | 1997-12-27 | 에이치티엠엘(html)문서저장및검색시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990055219A true KR19990055219A (ko) | 1999-07-15 |
KR100303153B1 KR100303153B1 (ko) | 2001-11-22 |
Family
ID=37529720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970075131A KR100303153B1 (ko) | 1997-12-27 | 1997-12-27 | 에이치티엠엘(html)문서저장및검색시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100303153B1 (ko) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010109206A (ko) * | 2000-06-01 | 2001-12-08 | 박준석, 유인청 | 네트워크 정보 통합 질의 인터페이스를 위한 방법 및장치 |
KR100391391B1 (ko) * | 2000-06-14 | 2003-07-12 | (주) 제이.에스.씨.앤.아이 | 저작권 침해 방지를 위한 정보추출 에이전트 시스템 및그의 정보제공 방법 |
KR100456621B1 (ko) * | 2001-12-24 | 2004-11-10 | 한국전자통신연구원 | 데이터베이스 등록소 검색을 이용한 관계-필터 질의어처리장치 및 방법 |
KR100473057B1 (ko) * | 2002-02-08 | 2005-03-08 | 삼성에스디에스 주식회사 | 직관적 방법에 의한 데이터베이스 연동 보고서 작성 방법 |
KR100595165B1 (ko) * | 1999-03-04 | 2006-07-03 | 엘지전자 주식회사 | 웹 서버를 이용한 문서의 참조 문서 검색 방법 |
KR100721408B1 (ko) * | 2005-10-25 | 2007-05-23 | 엔에이치엔(주) | 로컬 데이터 태깅 방법 및 로컬 데이터 태깅 시스템 |
KR100898475B1 (ko) * | 2007-04-10 | 2009-05-21 | 엔에이치엔(주) | 디렉터리 태깅 서비스를 제공하는 방법 및 상기 방법을수행하는 시스템 |
KR101153534B1 (ko) * | 2005-11-15 | 2012-06-11 | 엔에이치엔(주) | 웹 데이터 및 로컬 데이터에 대한 데이터 자동 태깅 방법및 데이터 자동 태깅 시스템 |
KR20180112590A (ko) * | 2017-04-04 | 2018-10-12 | 한국전자통신연구원 | 멀티미디어 지식 베이스 구축 시스템 및 방법 |
CN111651196A (zh) * | 2020-06-24 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 文档发布方法、装置及服务器 |
-
1997
- 1997-12-27 KR KR1019970075131A patent/KR100303153B1/ko not_active IP Right Cessation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100595165B1 (ko) * | 1999-03-04 | 2006-07-03 | 엘지전자 주식회사 | 웹 서버를 이용한 문서의 참조 문서 검색 방법 |
KR20010109206A (ko) * | 2000-06-01 | 2001-12-08 | 박준석, 유인청 | 네트워크 정보 통합 질의 인터페이스를 위한 방법 및장치 |
KR100391391B1 (ko) * | 2000-06-14 | 2003-07-12 | (주) 제이.에스.씨.앤.아이 | 저작권 침해 방지를 위한 정보추출 에이전트 시스템 및그의 정보제공 방법 |
KR100456621B1 (ko) * | 2001-12-24 | 2004-11-10 | 한국전자통신연구원 | 데이터베이스 등록소 검색을 이용한 관계-필터 질의어처리장치 및 방법 |
KR100473057B1 (ko) * | 2002-02-08 | 2005-03-08 | 삼성에스디에스 주식회사 | 직관적 방법에 의한 데이터베이스 연동 보고서 작성 방법 |
KR100721408B1 (ko) * | 2005-10-25 | 2007-05-23 | 엔에이치엔(주) | 로컬 데이터 태깅 방법 및 로컬 데이터 태깅 시스템 |
KR101153534B1 (ko) * | 2005-11-15 | 2012-06-11 | 엔에이치엔(주) | 웹 데이터 및 로컬 데이터에 대한 데이터 자동 태깅 방법및 데이터 자동 태깅 시스템 |
KR100898475B1 (ko) * | 2007-04-10 | 2009-05-21 | 엔에이치엔(주) | 디렉터리 태깅 서비스를 제공하는 방법 및 상기 방법을수행하는 시스템 |
KR20180112590A (ko) * | 2017-04-04 | 2018-10-12 | 한국전자통신연구원 | 멀티미디어 지식 베이스 구축 시스템 및 방법 |
CN111651196A (zh) * | 2020-06-24 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 文档发布方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
KR100303153B1 (ko) | 2001-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hammer et al. | Semistructured data: The TSIMMIS experience | |
US5826258A (en) | Method and apparatus for structuring the querying and interpretation of semistructured information | |
US6094649A (en) | Keyword searches of structured databases | |
JP5320438B2 (ja) | Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 | |
CN101393565A (zh) | 基于本体的面向虚拟博物馆的搜索方法 | |
US20050131926A1 (en) | Method of hybrid searching for extensible markup language (XML) documents | |
Grün et al. | XQuery full text implementation in BaseX | |
Hyvönen et al. | A content creation process for the semantic web | |
KR100303153B1 (ko) | 에이치티엠엘(html)문서저장및검색시스템 | |
Li et al. | WebDB: A web query system and its modeling, language, and implementation | |
Mihaila et al. | Equal time for data on the internet with websemantics | |
Sarda et al. | Mragyati: A system for keyword-based searching in databases | |
Rehm et al. | Ontology-based XQuery’ing of XML-encoded language resources on multiple annotation layers | |
Yu et al. | Metadata management system: design and implementation | |
CN1326078C (zh) | 包装器的生成方法 | |
Lacroix et al. | Information extraction and database techniques: a user-oriented approach to querying the Web | |
JPH09218880A (ja) | ドキュメントデータ検索システム | |
Grossman et al. | IIT Intranet Mediator: Bringing data together on a corporate intranet | |
Chen et al. | WebReader: A mechanism for automating the search and collecting information from the World Wide Web | |
Wielemaker et al. | Supporting semantic image annotation and search | |
Moura et al. | A metadata approach to manage and organize electronic documents and collections on the web | |
Hatano et al. | Extraction of partial XML documents using IR-based structure and contents analysis | |
Li et al. | WebDB hypermedia database system | |
Laender et al. | The Debye environment for Web data management | |
Aditya et al. | User interaction in the BANKS system: a demonstration |
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: 20071203 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |