CS276B What Is XML?

CS276B What Is XML?

What is XML? CS276B Text Retrieval and Mining eXtensible Markup Language Winter 2005 A framework for defining markup languages No fixed collection of markup tags Lecture 12 Each XML language targeted for application All XML languages share features Enables building of generic tools Basic Structure XML Example An XML document is an ordered, labeled tree character data leaf nodes contain the actual data (text strings) element nodes, are each labeled with a name (often called the element type), and a set of attributes, each consisting of a name and a value, can have child nodes XML Example Elements <chapter id="cmds"> Elements are denoted by markup tags <chaptitle>FileCab</chaptitle> <para>This <foo attr1=“value” … > thetext </foo> chapter describes the commands that Element start tag: foo manage the <tm>FileCab</tm>inet application.</para> </chapter> Attribute: attr1 The character data: thetext Matching element end tag: </foo> 1 XML vs HTML XML: Design Goals HTML is a markup language for a specific Separate syntax from semantics to provide purpose (display in browsers) a common framework for structuring XML is a framework for defining markup information languages Allow tailor-made markup for any HTML can be formalized as an XML language imaginable application domain (XHTML) Support internationalization (Unicode) and XML defines logical structure only platform independence HTML: same intention, but has evolved into Be the future of (semi)structured a presentation language information (do some of the work now done by databases) Why Use XML? Applications of XML Represent semi-structured data (data that XHTML are structured, but don’t fit relational model) CML – chemical markup language WML – wireless markup language XML is more flexible than DBs ThML – theological markup language <h3 class="s05" id="One.2.p0.2">Having a Humble XML is more structured than simple IR Opinion of Self</h3> <p class="First" id="One.2.p0.3">EVERY man naturally desires You get a massive infrastructure for free knowledge <note place="foot" id="One.2.p0.4"> <p class="Footnote" id="One.2.p0.5"><added id="One.2.p0.6"> <name id="One.2.p0.7">Aristotle</name>, Metaphysics, i. 1. </added></p> </note>; but what good is knowledge without fear of God? Indeed a humble rustic who serves God is better than a proud intellectual who neglects his soul to study the course of the stars. <added id="One.2.p0.8"><note place="foot" id="One.2.p0.9"> <p class="Footnote" id="One.2.p0.10"> Augustine, Confessions V. 4. </p> </note></added> </p> XML Schemas XML Tutorial Schema = syntax definition of XML language http://www.brics.dk/~amoeller/XML/index.html Schema language = formal language for (Anders Møller and Michael Schwartzbach) expressing XML schemas Previous (and some following) slides are Examples based on their tutorial Document Type Definition XML Schema (W3C) Relevance for XML IR Our job is much easier if we have a (one) schema 2 Native XML Database XML Indexing and Search Uses XML document as logical unit Should support Elements Attributes PCDATA (parsed character data) Document order Contrast with DB modified for XML Generic IR system modified for XML XML Indexing and Search Data vs. Text-centric XML Most native XML databases have taken a DB Data-centric XML: used for messaging approach between enterprise applications Exact match Mainly a recasting of relational data Evaluate path expressions Content-centric XML: used for annotating No IR type relevance ranking content Only a few that focus on relevance ranking Rich in text Demands good integration of text retrieval functionality E.g., find me the ISBN #s of Books with at least three Chapters discussing cocoa production, ranked by Price IR XML Challenge 1: Term Statistics IR XML Challenge 2: Fragments There is no document unit in XML IR systems don’t store content (only index) How do we compute tf and idf? Need to go to document for Global tf/idf over all text context is useless retrieving/displaying fragment E.g., give me the Abstracts of Papers on Indexing granularity existentialism Where do you retrieve the Abstract from? Easier in DB framework 3 IR XML Challenges 3: Schemas IR XML Challenges 4: UI Ideally: Help user find relevant nodes in schema There is one schema Author, editor, contributor, “from:”/sender User understands schema What is the query language you expose to In practice: rare the user? Many schemas Specific XML query language? No. Schemas not known in advance Forms? Parametric search? Schemas change A textbox? Users don’t understand schemas In general: design layer between XML and Need to identify similar elements in different schemas user Example: employee IR XML Challenges 5: using a DB Querying XML Why you don’t want to use a DB Today: Spelling correction XQuery Mid-word wildcards XIRQL Contains vs “is about” Lecture 15 DB has no notion of ordering Vector space approaches Relevance ranking XQuery XQuery SQL for XML The principal forms of XQuery expressions Usage scenarios are: Human-readable documents path expressions Data-oriented documents element constructors Mixed documents (e.g., patient records) FLWR ("flower") expressions list expressions Relies on conditional expressions XPath quantified expressions XML Schema datatypes datatype expressions Turing complete Evaluated with respect to a context XQuery is still a working draft. 4 FLWR Queries Supported by XQuery FOR $p IN document("bib.xml")//publisher LET $b := Location/position (“chapter no.3”) document("bib.xml”)//book[publisher = $p] WHERE count($b) > 100 RETURN $p Simple attribute/value /play/title contains “hamlet” FOR generates an ordered list of bindings of publisher names to $p Path queries LET associates to each binding a further binding of title contains “hamlet” the list of book elements with that publisher to $b /play//title contains “hamlet” at this stage, we have an ordered list of tuples of bindings: ($p,$b) Complex graphs WHERE filters that list to retain only the desired Employees with two managers tuples Subsumes: hyperlinks RETURN constructs for each tuple a resulting value What about relevance ranking? How XQuery makes ranking difficult XQuery: Order By Clause All documents in set A must be ranked for $d in document("depts.xml")//deptno above all documents in set B. let $e := document("emps.xml")//emp[deptno Fragments must be ordered in depth-first, = $d] left-to-right order. where count($e) >= 10 order by avg($e/salary) descending return <big-dept> { $d, <headcount>{count($e)}</headcount>, <avgsal>{avg($e/salary)}</avgsal> } </big- dept> XQuery Order By Clause XIRQL Order by clause only allows ordering by University of Dortmund “overt” criterion Goal: open source XML search engine Say by an attribute value Motivation Relevance ranking “Returnable” fragments are special Is often proprietary E.g., don’t return a <bold> some text </bold> fragment Can’t be expressed easily as function of set to be ranked Structured Document Retrieval Principle Is better abstracted out of query formulation Empower users who don’t know the schema (cf. www) Enable search for any person no matter how schema encodes the data Don’t worry about attribute/element 5 Atomic Units XIRQL Indexing Specified in schema Only atomic units can be returned as result of search (unless unit specified) Tf.idf weighting is applied to atomic units Probabilistic combination of “evidence” from atomic units Structured Document Retrieval Principle Augmentation weights A system should always retrieve the most Ensure that Structured Document Retrieval specific part of a document answering a Principle is respected. query. Assume different query conditions are Example query: xql disjoint events -> independence. Document: P(chapter,XQL)=P(XQL|chapter)+P(section|cha <chapter> 0.3 XQL pter)*P(XQL|section) – <section> 0.5 example </section> P(XQL|chapter)*P(section|chapter)*P(XQL|sect <section> 0.8 XQL 0.7 syntax </section> ion) = 0.3+0.6*0.8-0.3*0.6*0.8 = 0.636 </chapter> Section ranked ahead of chapter Return section, not chapter Datatypes XIRQL: Summary Example: person_name Relevance ranking Assign all elements and attributes with Fragment/context selection person semantics to this datatype Datatypes (person_name) Allow user to search for “person” without Semantic relativism specifying path Attribute/element 6 Data structures for XML retrieval Data structures for XML retrieval What are the primitives we need? Inverted index: give me all elements matching text query Q We know how to do this – treat each element as a document A very basic introduction. Give me all elements (immediately) below any instance of the Book element Combination of the above Parent/child links General positional indexes Number each element View the XML document as a text document Build a positional index for each element Maintain a list of parent-child relationships Mark the beginning and end for each element, e.g., E.g., Chapter:21 ← Book:8 Enables immediate parent Play Doc:1(27) Doc:1(2033) But what about “the word Hamlet under a /Play Doc:1(1122) Doc:1(5790) Scene element under a Play element? Verse Doc:1(431) Doc:4(33) /Verse Doc:1(867) Doc:4(92) Term:droppeth Doc:1(720) Positional containment Summary of data structures Doc:1 Path containment etc. can essentially be solved by positional inverted indexes 27 1122 2033 5790 Play Retrieval consists of “merging” postings All the compression tricks etc. from 276A 431 867 are still applicable Verse Containment can be Complications arise from insertion/deletion of elements, text within elements 720 viewed as merging Term:droppeth postings. Beyond the scope of this course droppeth under Verse under Play. 7 Resources Jan-Marco Bremer’s publications on xml and ir: http://www.db.cs.ucdavis.edu/~bremer www.w3.org/XML - XML resources at W3C Ronald Bourret on native XML databases: http://www.rpbourret.com/xml/ProdsNative.htm Norbert Fuhr and Kai Grossjohann.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us