1 / 22

CXPath

CXPath. Do tazování nad heterogenními XML zdroji s pomocí konceptuálního schéma. Jan Vávra, 21. dubna 2004 jan.vavra @matfyz.cz. Heterogenní xml zdroje . stejná aplikační doména rozdílné schémata xml zdrojů využítí: sémantický web. Principy dotazování.

grover
Download Presentation

CXPath

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CXPath Dotazování nad heterogenními XML zdroji s pomocí konceptuálního schéma Jan Vávra, 21. dubna 2004 jan.vavra@matfyz.cz

  2. Heterogenní xml zdroje ... • stejná aplikační doména • rozdílné schémata xml zdrojů využítí: • sémantický web

  3. Principy dotazování • globální (jednotná) reprezentace XML schémat • uživatel nemusí znát jednotlivá schémata pro formulaci dotazu • překlad globálního dotazu na dotazy odpovídající danému schématu • zpětné převedení výsledků tak, aby odpovídaly globálnímu shcématu

  4. Překlad globálního dotazu • máme globální schéma (konceptuální) • překládáme dotaz • nad globálním schématem • do každého jednotlivého lokálního XML schématu • za pomoci mapování (globál. → lokál. schéma)

  5. Proč ne XML schema? Relace vs. hiearchie <article> <author/> </article> <author> <article/> </author> • rozdílné vyjádření N:Nvztahu • globální XML schéma schopno vyjádřit jen jednu z možností

  6. Globální jazyk – CXPathConceptual XPath • Na čem založit globální jazyk? • operace spojení – relační algebra, SQL • výraz cesty – OQL, Lorel, XPath • Byl zvolen XPath 1.0 • XPath vs. CXPath • hierchické vztahy vs. vztahy bez hierchií • kořenový element vs. dotazování se odkudkoliv

  7. Konceptuální model • založen na ORM / NIAM • (Object Role Modeling / Natural language Information Analysis Method) • varianta ER modelu • definuje: • koncept • lexikální ... #PCDATA • nelexikální … elementy • vztahy mezi koncepty

  8. Příklad ORM/NIAM modelu

  9. ORM model vs. ER model • ER atribut × ORM entita, relace • pro některé dotazy je třeba, aby atribut byl entita. • není třeba definovat integritní omezení zvláštˇ pro atributy a relace.

  10. ORM model vs. XML model (1) • název konceptu vs. název elementu • elementů stejného jména může být více na různých úrovních a mohou mít tak jiný význam • koncept stejného jména může být jen jeden • název konceptu = { synonyma, překlady elementů } • kořenový element v XML modelu • ORM nemá kořenový koncept • v ORM lze se dotazovat na libovolný koncept

  11. CXPath ( Conceptual Xpath ) • jazyk pro dotazování nad ORM modelem • navigační operátor (/) • XPath: book/ ... „vyber potomky elementu book“ • CXPath: book/ ... „vyber koncepty v relaci s book“ • příklad: Vyber instance konceptu Title, které jsou v relaci instacemi konceptu Article, které jsou vztaženy k instacím konceptu Year s hodnotou 2004 / Article [Year = “2004” ] / Title / Title / Article [ Year = “2004” ]

  12. CXPath a XPath ... • kvalifikovaný navigační operátor – název relace • př.: mezi Article a Person definovány dvě relace • co znamená Article / Person ? • => ‘/’ se musí upřesnit – kvalifikovat názvem relace • Article /{author} Person • kvalifikovaný navigační operátor – název role • někdy je ještě potřeba vyjádřit směr • u relace mezi instancemi téhož konceptu

  13. Kvalifikovaný navigační operátor – název role /Person/{CurrentMarriage.husband}/Person/Name

  14. CXPath a XPath ... • hiearchické operátory .., // • nejsou v CXPath definovány • pozn. operátor / zachován, pozměněn význam z “otec-syn” na “vztažen“

  15. Mapování CXPath do XPath • je potřeba mít mapování mezi konceptuálním a XML schematem • mapovací katalog • pohledy • pro každý konstrukt v konceptu definován XPath výraz, který vrací odpovídající množinu elementů • XPath výraz je definován pro: • koncept • každý směr relace

  16. Překlad CXPath na XPath • přepisovací strategie: • vstup je analyzován zleva doprava • první / vynecháno • první koncept ... odpovídající XPath výraz • každý další koncept je relativní • je třeba před něj vypsat XPath výraz pro příslušnou relaci • pozn. takových relací může být více – kvalifikované relace

  17. Příklady překladu (1) • Title „→“ Heading: • Titleje relativní koncept • Article je kontextem • přelož relaci • Article → Title

  18. Příklady překladu (2) • prostor pro optimalizaci generovaných výrazů: • /references/paper/referee/../@title

  19. Příklady překladu (3)

  20. Závěr • CXPath je jazyk založený na Xpath • dotazuje se nad abstrakcí několika heterogenních XML zdrojů • CXPath se mapuje do výrazů jazyka XPath • výsledné výrazy by se daly optimalizovat

  21. Literatura • Querying Heterogenous XML Sources through a Conceptual Schema, S.D. Camillo, 2003, LNCS 2813, p. 186-199, • http://www.firmar.com.br/sandro/paper254.pdf • Object-Role Modeling (ORM/NIAM), T. Halpin, 1998, • http://www.orm.net/pdf/springer.pdf

More Related