Cxpath
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

CXPath PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on
  • Presentation posted in: General

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í.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


CXPath

Dotazování nad heterogenními XML zdroji s pomocí konceptuálního schéma

Jan Vávra,

21. dubna 2004

[email protected]


Heterogenní xml zdroje...

  • stejná aplikační doména

  • rozdílné schémata xml zdrojů

    využítí:

  • sémantický web


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


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)


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í


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


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


Příklad ORM/NIAM modelu


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.


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


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” ]


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


Kvalifikovaný navigační operátor – název role

/Person/{CurrentMarriage.husband}/Person/Name


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“


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


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


Příklady překladu (1)

  • Title „→“ Heading:

  • Titleje relativní koncept

  • Article je kontextem

  • přelož relaci

  • Article → Title


Příklady překladu (2)

  • prostor pro optimalizaci generovaných výrazů:

  • /references/paper/referee/..[email protected]


Příklady překladu (3)


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


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


  • Login