Presentation is loading. Please wait.

Presentation is loading. Please wait.

임 순 범 숙명여대 정보과학부 멀티미디어학과 1 III. XML-QL 멀티미디어 데이터베이스 (2001.10.23~11.1)

Similar presentations


Presentation on theme: "임 순 범 숙명여대 정보과학부 멀티미디어학과 1 III. XML-QL 멀티미디어 데이터베이스 (2001.10.23~11.1)"— Presentation transcript:

1 임 순 범 숙명여대 정보과학부 멀티미디어학과 1 III. XML-QL 멀티미디어 데이터베이스 (2001.10.23~11.1)

2 2 목차 [ 교재 ] XML-QL: A Query Language for XML, W3C NOTE-xml-ql-19980819, http://www.w3.org/TR/NOTE-xml-ql/ 1. Introduction 2. Examples ** 3. XML Data Model 4. Advanced Examples **

3 3 1. Introduction 많은 량의 XML 데이터 –XML simplicity, flexibility => XML 응용이 많이 개발되고 있음 문제점 –data extraction from large XML documents –XML data exchange : XML documents or queries, using different DTD –XML data integration from multiple XML sources Data extraction, transformation, and integration 을 위하여 –Also database problem –query language for semi-structured data model (XML document) XML-QL : query language for XML data –Queries : extract pieces of data from XML documents –Transformations : map XML data between DTD, integrate XML data => extract data from XML documents and construct new XML data/doc.

4 4 2. Examples –bib.xml 데이터베이스 시스템 홍길동 숙명여대 XML 데이터베이스 홍길동 고소영 숙명여대

5 5 Query –Abbreviation : … – 변수 : 매치되는 모든 $t 와 $a pair – 결과 : 내에 생성 WHERE 숙명여대 $t $a IN "bib.xml" CONSTRUCT $a $t 홍길동 데이터베이스 시스템 홍길동 XML 데이터베이스 고소영 XML 데이터베이스

6 6 Grouping – element : $p Nested Query –… ~ … IN $p Shorthand – 공통구절 (idiom) –Content matching WHERE $p IN "bib.xml", $t, 숙명여대 IN $p CONSTRUCT $t WHERE $a IN $p CONSTRUCT $a 데이터베이스 시스템 홍길동 XML 데이터베이스 홍길동 고소영 WHERE $t 숙명여대 CONTENT_AS $p IN "bib.xml" CONSTRUCT...

7 7 Joining by value – …$f, $l Value Condition –$y < 2001 공통구절 –element matching –ELEMENT_AS WHERE $f $l CONTENT_AS $a IN "bib.xml" $f // join $l // join IN "bib.xml", $y < 2001 CONSTRUCT $a... 홍길동...... 홍길동... WHERE $f $l ELEMENT_AS $e IN "bib.xml"... CONSTRUCT $e

8 8 3. XML Data Model XML graph model –G has a root, 각 vertex 는 OID(Object identifier) 로 표현 –Labeling : edge <= element tag, node <= attribute-value pairs, leave <= value (string) –ex) Etc. –Element Identity, IDs, and ID References : sharing –Join, Scalar Value, Element Order, etc.

9 9 4. Advanced Examples Tag Variables –Binding to tag group –$p :, –$e :, –WHERE ~ $p, $e CONSTRUCT ~ $p, $e WHERE $t 2000 홍길동 IN "bib.xml" $e IN {author, editor} CONSTRUCT $t 홍길동 데이터베이스 시스템 홍길동 - - - - - - 홍길동 * * * * * * 홍길동

10 10 Regular Path Expression –DTD with recursive element –part* : any edge of part –Wildcard : $ (any tag), S* => *, ex) *.brand –Regular Expression : |. * + WHERE $r FORD IN "bib.xml" CONSTRUCT $r WHERE $r FORD IN "bib.xml" CONSTRUCT $r WHERE $r IN "bib.xml" CONSTRUCT $r

11 11 Transforming XML Data object identifiers (OID's) and Skolem functions –generate a new identifier for every distinct values of $fn,$ln –not create another, but append to the existing WHERE $fn $ln $t IN "bib.xml" CONSTRUCT $fn $ln $t … <!ELEMENT article (author+, title, year?, …

12 12 Integration from different XML source –Query Blocks : like semi-join, use OID given by function WHERE ELEMENT_AS $n $ssn IN "data.xml", $ssn ELEMENT_AS $i IN "taxpayer.xml" CONSTRUCT $n $i { WHERE ELEMENT_AS $n $ssn IN "data.xml" CONSTRUCT $n } { WHERE $ssn ELEMENT_AS $i IN "taxpayer.xml" CONSTRUCT $i }

13 13 Query Block –Outer block, Inner block WHERE $t 2000 CONTENT_AS $p IN "bib.xml" CONSTRUCT $t { WHERE $e = "journal-paper", $m IN $p CONSTRUCT $m } { WHERE $e = "book", $q IN $p CONSTRUCT $q } - - - - - - - - -

14 14 Matching order in ordered data model * –Pattern –Match yes O no X –Matching Order –order variables : extract the index of some element. $x $y str1 str2 str2 str1 string1 string2 string3 string4 $x $y string1 string2 string1 string4 string3 string4 WHERE $p in "people.xml", $x [$i] in $p, $y [$j] in $p, $j < $i CONSTRUCT $p

15 15 –ORDER-BY clause –reverse order WHERE &p in "bib.xml", $t in $p, $y in $p $z in $p ORDER-BY $y,$z CONSTRUCT $t WHERE $p in "bib.xml" CONSTRUCT WHERE $a [$i] in $p ORDER-BY $i DESCENDING CONSTRUCT $a WHERE $v in $p, $e != "author" CONSTRUCT $v

16 16 Imbedding Query in data Function definitions and DTD's : 생략 WHERE $t $y IN "bib.xml", $y > 1995 CONSTRUCT $t WHERE $t $y IN "bib.xml", $y > 1995 CONSTRUCT $t


Download ppt "임 순 범 숙명여대 정보과학부 멀티미디어학과 1 III. XML-QL 멀티미디어 데이터베이스 (2001.10.23~11.1)"

Similar presentations


Ads by Google