Web-site Management System Strudel Presented by: LAKHLIFI Houda Instructor: Dr. Haddouti.

Slides:



Advertisements
Similar presentations
XML e X tensible M arkup L anguage (XML) By: Albert Beng Kiat Tan Ayzer Mungan Edwin Hendriadi.
Advertisements

XML: Extensible Markup Language
XML, XML Schema, Xpath and XQuery Slides collated from various sources, many from Dan Suciu at Univ. of Washington.
TIMBER A Native XML Database Xiali He The Overview of the TIMBER System in University of Michigan.
Incremental Maintenance for Materialized Views over Semistructured Data Written By: Serge Abiteboul Jason McHuge Michael Rys Vasilis Vassalos Janet L.
Relational Databases for Querying XML Documents: Limitations & Opportunities VLDB`99 Shanmugasundaram, J., Tufte, K., He, G., Zhang, C., DeWitt, D., Naughton,
Database Management Systems, R. Ramakrishnan1 Introduction to Semistructured Data and XML Chapter 27, Part D Based on slides by Dan Suciu University of.
Agenda from now on Done: SQL, views, transactions, conceptual modeling, E/R, relational algebra. Starting: XML To do: the database engine: –Storage –Query.
Managing XML and Semistructured Data Lecture 8: Query Languages - XML-QL Prof. Dan Suciu Spring 2001.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
From Semistructured Data to XML: Migrating The Lore Data Model and Query Language Roy Goldman, Jason McHugh, Jennifer Widom Stanford University
1 Lecture 10 XML Wednesday, October 18, XML Outline XML (4.6, 4.7) –Syntax –Semistructured data –DTDs.
Query Languages Aswin Yedlapalli. XML Query data model Document is viewed as a labeled tree with nodes Successors of node may be : - an ordered sequence.
Web Site Management Based on Declarative Specifications Alon Levy University of Washington Joint work with: Strudel: Dana Florescu (INRIA), Mary Fernandez,
1 COS 425: Database and Information Management Systems XML and information exchange.
Winter 2002Arthur Keller – CS 18018–1 Schedule Today: Mar. 12 (T) u Semistructured Data, XML, XQuery. u Read Sections Assignment 8 due. Mar. 14.
The Strudel Web Site Management System Mary Fernandez, Daniela Florescu, Jaewoo Kang, Alon Levy, Dan Suciu.
1 New Ways of Querying the Web by Eliahu Brodsky and Alina Blizhovsky.
Semi-structured Data. Facts about the Web Growing fast Popular Semi-structured data –Data is presented for ‘human’-processing –Data is often ‘self-describing’
4/15/2002Bo Du 1 - Bo Du, April 15, XML - QL A Query Language for XML.
Representation of Web Data in a Web Warehouse Ragini A.S. & Shipra Dutta November 20 th, 2001.
XML(EXtensible Markup Language). XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML. XML was designed to describe.
Russell Taylor Lecturer in Computing & Business Studies.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Putting Semi-structured Data to Practice Alon Levy Seattle, Washingon University of Washington.
Overview of Search Engines
Overview of XPath Author: Dan McCreary Date: October, 2008 Version: 0.2 with TEI Examples M D.
4/20/2017.
IS432: Semi-Structured Data Dr. Azeddine Chikh. 1. Semi Structured Data Object Exchange Model.
ITD 3194 Web Application Development Chapter 4: Web Programming Language.
XML-to-Relational Schema Mapping Algorithm ODTDMap Speaker: Artem Chebotko* Wayne State University Joint work with Mustafa Atay,
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
Lecture 6 of Advanced Databases XML Schema, Querying & Transformation Instructor: Mr.Ahmed Al Astal.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
XML-QL A Query Language for XML Charuta Nakhe
Introduction to XML. XML - Connectivity is Key Need for customized page layout – e.g. filter to display only recent data Downloadable product comparisons.
XML과 Database 홍기형 성신여자대학교 성신여자대학교 홍기형.
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
Querying Structured Text in an XML Database By Xuemei Luo.
Winter 2006Keller, Ullman, Cushing18–1 Plan 1.Information integration: important new application that motivates what follows. 2.Semistructured data: a.
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
An OO schema language for XML SOX W3C Note 30 July 1999.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
The eXtensible Markup Language (XML). Presentation Outline Part 1: The basics of creating an XML document Part 2: Developing constraints for a well formed.
1 Introduction to Semistructured Data and XML. 2 How the Web is Today  HTML documents often generated by applications consumed by humans only easy access:
Web-site Building Methodologies Current Research.
XML and Database.
XML e X tensible M arkup L anguage (XML) By: Albert Beng Kiat Tan Ayzer Mungan Edwin Hendriadi.
CSCE 520- Relational Data Model Lecture 2. Oracle login Login from the linux lab or ssh to one of the linux servers using your cse username and password.
Computing & Information Sciences Kansas State University Friday, 20 Oct 2006CIS 560: Database System Concepts Lecture 24 of 42 Friday, 20 October 2006.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Semi-structured Data In many applications, data does not have a rigidly and predefined schema: –e.g., structured files, scientific data, XML. Managing.
SEMI-STRUCTURED DATA (XML) 1. SEMI-STRUCTURED DATA ER, Relational, ODL data models are all based on schema Structure of data is rigid and known is advance.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
XML Databases Presented By: Pardeep MT15042 Anurag Goel MT15006.
Lecture 14: Relational Algebra Projects XML?
XML: Extensible Markup Language
eXtensible Markup Language (XML)
Semi-Structured data (XML Data MODEL)
Data Model.
Alin Deutsch, University of Pennsylvania Mary Mernandez, AT&T Labs
Lecture 9: XML Monday, October 17, 2005.
Lecture 8: XML Data Wednesday, October
CSE591: Data Mining by H. Liu
Semi-structured Data In many applications, data does not have a rigidly and predefined schema: e.g., structured files, scientific data, XML. Managing such.
Introduction to Database Systems CSE 444 Lecture 10 XML
Semi-Structured data (XML)
Presentation transcript:

Web-site Management System Strudel Presented by: LAKHLIFI Houda Instructor: Dr. Haddouti

Outline * Introduction: Building Web sites What is Strudel? Strudel Architecture * Content Management: Strudel Data Model * Structure management: Site Graph StruQL * Graphical Presentation Management * Conclusion

Building Web Sites Building web sites involves 3 tasks:  Managing the information presented at the site (content)  Managing the structure of the web site (pages & links)  Creating the graphical presentation of pages Before: Existing site-management tools unify these tasks  prevents the site builder from performing each task separately.  prohibits the generation of multiple sites from the same data. Now: Current tools separate the three tasks.  Strudel (Manages content and structure declaratively)

Strudel Features:  Separates the 3 web site creation tasks.  Integrates content from multiple sources.  Manages semi structured data.  High level declarative language for managing site’s structure (StruQL) Advantages:  Derives multiple sites from the same data.  Supports easy restructuring and modification.  Provides platform for: -Enforcing integrity constraints -Designing policies for efficient run-time management of sites

Strudel Architecture

Content Management

4 The web site’s raw data resides either in: Tuple-stream sources: relational databases, flat files… Graph-structured sources: XML documents, bibliographies, graphs that conforms to Strudel’s data model… 4 Tuple-stream and graph-structured sources are mapped into Strudel’s data model. 4 The last data management step is data integration. Source specific wrappers translate an external source into Strudel’s graph model. The integrated view of the data is produced by evaluating a StruQL query (mediator). The generated file has the Strudel’s.ddl format and is called data graph.

Content Management - Strudel Data Model- In Strudel, a database is modeled as a labeled, directed graph, called a data graph. A data graph contains objects and collections.  Objects are connected by directed edges labeled with string-valued attributes.  Objects are either internal nodes, identified by a unique object identifier (OID), or are atomic values, such as integers, strings, and files.  Collections contain groups of objects.  Objects may belong to multiple collections and may have different representations.

Content Management -Strudel Data Model-

Strudel’s Data-Definition Language (DDL) is an ASCII format used by Strudel for graph sources. It corresponds more closely to Strudel’s data model than does XML. A DDL file contains the graph’s name and a sequence of statements that define the graph’s objects and collections. Example: Graph people Collection Person { } Object norman in Person { lastname “Ramsey” firstname “Norman” } Object mary in Person { lastname “Fernandez” firstname “Mary” homepage is url }

Content Management -Strudel Data Model- Strudel can export its graph in XML; Strudel has its own DTD for specifying graph sources Jun Simple and Effective... Mary Fernandez bib1 bib2 ICDE '98 Semistructured Data Optimizing... Dan Suciu ciu 1998

Structure Management

Structure Management -Site Graph- After data integration, the site builder declaratively specifies the web site’s structure using a site-definition query in StruQL, Strudel’s query language. A StruQL query extracts objects, attributes, and values from the input graphs and constructs a new graph using that data. The result of evaluating the site-definition query on the data graph is a site graph. A site graph models both the site’s content and structure. A site graph can be rendered as a browsable Web site by Strudel’s HTML generator. Site graphs are just data graphs and they can be provided as input to other StruQL queries.

Structure Management -StruQL- StruQL allows a site builder:  To extract the data that will be available in the site from tuple-stream and/or graph-structured sources.  To create a site graph that specifies both the content and structure of the site. StruQL queries are declarative. StruQL queries are compositional.

Structure Management -StruQL- A simple site-definition query that creates a site graph grouping Bibentry objects by their year attribute: collect WebPage{Root()}, YearPage() { where Bibentry{x}, x -> "year" -> y { where l = "year" collect WebPage{YearPage()}, YearEntry(y) link Root() -> "YearPage" -> YearPage(), YearPage() -> "YearEntry" -> YearEntry(y), YearEntry(y) -> "bibentry" -> x, x -> "year" -> y } }

Structure Management -StruQL- The result of applying this query to the previous example graph database is the site graph:

Structure Management -StruQL- AStruQL query is a function from a set of input graphs to an output graph. A StruQL expression contains two parts: - A query part: supports querying of the data source. result  relation -A graph construction part: uses the relation to construct the nodes and arcs in the output graph, or site graph. The result of a complete StruQL query is a new site graph.

Structure Management -StruQL- WHERE clause: selects objects and values of interest COLLECT clause: creates a new collection and adds the selected objects to the new collection. The new collection is defined in the output (or site) graph. It can be of the following forms: P{Q(x)}:adds the objects whose identifier is Q(x) to the collection P. P{x}: adds the object bound to the node variable x to the collection P. LINK clause: links new objects to other new objects in the output graph or to old objects in the input graph.

Examples of StruQL queries

Structure Management -StruQL- -Example: Selection on Attributes This query selects all objects b in the Bibentry collection that have a booktitle or journal attribute; it puts all such objects in the new collection RefereedPub. Where Bibentry{b}, b -> l -> x, l = “booktitle” or l = “journal” Collect RefereedPub(b)

Structure Management -StruQL- -Example: Selection on Attributes Values This query selects objects b in the Bibentry collection that have a booktitle attribute whose value is “SIGMOD” and puts all such objects in the new collection InSIGMOD. Where Bibentry{b}, b -> “booktitle” -> “SIGMOD” Collect InSIGMOD(b)

Structure Management -StruQL- -Example: Traversing Paths with Regular Path Expressions Regular path expressions support traversal of arbitrary paths in the input graph. For example, this query selects all Bibentry objects that have an author attribute that refers to an objects that has a lastname attribute. Where Bibentry{b}, b -> “author” -> x, x -> “lastname” -> “Fernandez” Collect ByMe(b)

Structure Management -Changes to StruQL: XML data sources- Strudel can read input graphs and emit output graphs in an XML format. Data in XML can be: 1- Written by hand or produced by an XML source 2- produced by wrappers, such as bib2xml, which map external data into an XML format 3- generated by StruQL queries

Structure Management -StruQL & XML docs-  XML documents conforming to Strudel’s DTD: are mapped directly into Strudel’s internal graph data model.  Arbitrary XML documents: Do not match exactly Strudel’s graph model, but it is also possible to access all their objects.

Structure Management -More on StruQL- 4 Bare bones language for semi-structured data: includes the essential features. 4 More expressive than Lorel or UnQL (e.g., can reverse graphs) 4 Conceptually and in practice: separation between query component and restructuring component is important.

Graphical Presentation Management

4 In Strudel the graphical presentation is described separately in HTML templates. 4 HTML templates are just HTML files extended with a few Strudel tags. 4 Certain nodes in the site graph have an attribute HTMLtemplate, which associates them with a template file. 4 The purpose of the template is to instruct Strudel how to generate an HTML file for that node. 4 The result is the browsable web site.

Conclusion: Many advantages… 4 Multiple views of the Web site can be defined with minimal effort. 4 Personalized Web sites can be offered. 4 The three Web creation tasks are separated. 4 Maintenance is easier. It is easier to understand and modify a declarative program like StruQL than a CGI-BIN script. 4 Using a declarative query language allows to express more complex queries, like the following StruQL query: where x -> (_ | _._) -> y x CONTAINS “database”, y CONTAINS “warehouse” collect result{x}

Thank You!!! References: Abiteboul, S., Buneman, P. & Suciu, D. (2000) Data on the Web. Morgan Kaufmann Publishers