Dados Semi-Estruturados e XML

Documentos relacionados
Dados Semi-Estruturados e XML

Dados Semi-Estruturados e XML. Alberto Laender - DCC/UFMG

Sumário. Gerência de Dados da Web - DCC922 - Linguagens de Consulta. Características Desejáveis de uma LC/DSE. Linguagens de Consulta

Gerência de Dados da Web

Gerência de Dados da Web

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

Linguagens de interrogação de dados XML - XPath. Gestão e Tratamento de Informação DEI IST

Gerência de Dados da Web

Introdução XML. Vanessa Braganholo

Gerência de Dados da Web - DCC922 -

Gerência de Dados da Web

Tópicos Especiais em Ciência da Computação: Gerência de Dados da Web DCC851 Introdução

Sumário. XML (extensible Markup Language)

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML

XML. Prof. Júlio Machado

XSLT e recursividade estrutural. Gestão e Tratamento de Informação DEI IST

Gestão e Tratamento de Informação. 1º Semestre 2011/2012 DEI IST

Guia de Bolso HTML e XHTML

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Grupo: Rodrigo Pescador Lucas Silveira Renê Rodrigues Eduardo Dellandrea Thiago Bonetti. BANCOS DE DADOS II Bancos de Dados Semi-Estruturados e XML

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML (extensible Markup Language)

INE BDNC. Bancos de Dados XML

XML - Extensible Markup Language

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML

XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

Integração de Dados. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Prof. Dr. Ricardo Rodrigues Ciferri

XML extensible Markup Language. Prof. Fellipe Aleixo

5a. Aula - XML

Reformulação de Consultas em Sistemas de Integração de Dados baseados em XML

Bases de dados semi-estruturadas, XML

Transformação de documentos XML

Formas de Gerência de Dados XML

A Linguagem XML numa Perspectiva de Bases de Dados. Resumo

XML: uma introdução prática X100. Helder da Rocha

Ricardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha

CONSULTANDO VISÕES XML DE BANCOS DE DADOS OBJETO-RELACIONAIS

Programação para Internet I Aulas 10 e 11

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010

Processamento de consultas XQuery usando Prolog

XML (extensible Markup Language)

CONTEÚDO PROGRAMÁTICO

Escola de Ciência da Informação ECI/UFMG. Eduardo Ribeiro Felipe

XQuery (1ª parte) Gestão e Tratamento da Informação DEI IST. (baseado nos slides de Ioana Manolescu, acessíveis em:

Conteúdo. Integração de Dados, Web e Warehousing. Introdução. Introdução. BD Heterogêneos. Introdução. Introdução

Recapitular XML... Gestão e Tratamento de Informação DEI IST

DOSSIER DA DISCIPLINA

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Armazenamento de Dados XML em SGBDs. Agenda

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Módulo III Introdução a XML

Conceitos de HTML 5 Aula 1

INF Projeto de Banco de Dados Plano de ensino

Linguagem XML. Linguagem XML

Consultas sobre visões XML globais de Bases de Dados Distribuídas

PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS. Departamento de Documentação Curso de Arquivologia

BANCO DE DADOS. Araújo Lima. Fev / Araújo

Gerência de Dados Semi- Estruturados

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XPATH. Prof. Angelo Augusto Frozza, M.Sc.

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte

INE 5423 Banco de Dados I

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL

Sistema de Banco de Dados. UNIDADE 1 Introdução aos Sistemas de Bancos de Dados Professor: Armando Hage

Gerenciamento de Dados XML

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

INE 5423 Banco de Dados I

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

XML. Prof. Júlio Machado

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza

Aula 06 Sistemas Embarcados LT38C

Esquemas para Dados XML

Introdução à linguagem HTML. Volnys Borges Bernal

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Estrutura Lógica DTD

Arquitetura de um Ambiente de Data Warehousing

MODELAGEM DE DADOS UNIDADE 1 Visão Geral. Luiz Leão

Desenvolvimento de Aplicações Distribuídas

Universidade Federal de Pernambuco

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Bancos de Dados Orientados a Grafos. Mateus Lana e Thiago Santana

#Fundamentos de uma página web

TVM WeB - Uma Interface Visual para o Modelo Temporal de Versões

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações);

11/8/2010. Tópicos. Organização e Indexação de Dados em Memória Secundária

Volnys Bernal. Introdução à linguagem HTML. Introdução à linguagem HTML. Visão geral. Visão geral. Visão geral. Visão geral.

Sistemas de Gerência de Bancos de Dados. 7 - Outras Arquiteturas para SGBDs SGBDs e a Web

Sumário. 1 Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto- Relacional 3 BD Temporal 4 BD Geográfico 5 BDs XML

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

DOM (Document Object Model)

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Arquitetura de um Ambiente de Data Warehousing

Transcrição:

Dados Semi-Estruturados e XML Sumário Dados da Web: Caracterização Gerência de Dados da Web Dados Semi-Estruturados Modelo de dados XML Definição de esquemas Linguagens de Consulta XPath, XQuery 1

Dados da Web A Web constitui hoje um repositório universal de dados gerados pelas mais diversas aplicações Características dos dados da Web: Disponíveis através de documentos textuais Utilizados apenas para consumo humano Constantemente alterados Estrutura implícita e não-declarada: dados semi-estruturados Recuperação de informação na Web:. busca por palavras-chave e browsing 2

<book> <title> Data on the Web: From Relations to Semistructured Data and XML </title> <author> Serge Abiteboul </author> <author> Peter Buneman </author> <author> Dan Suciu </author> <publisher> Morgan Kaufmann Series in Data Management Systems </publisher> <listprice> 45.95 </listprice> <price> 45.95 </price> <instock> 4 </instock> <edition> Hardcover </edition> </book> Três Visões da Web Web visual HTML+HTTP HTML: indica como os dados são apresentados Usuários podem apenas navegar pelos dados Web sintática HTML+HTTP+XML XML: indica a estrutura dos dados Aplicações podem processar os dados Web semântica HTML+HTTP+XML+RDF+DAML/OIL+ Anotações indicam o significado dos dados Aplicações podem entender os dados 3

Gerência de Dados da Web Principais problemas: Como modelar? Como consultar? Como processar? Exemplo: Um usuário deseja encontrar pacotes de viagem para Fortaleza, partindo de Belo Horizonte, que incluam três diárias de hotel e custem menos de R$1.000,00. Necessidade de padrões para representação e intercâmbio de dados XML Tecnologia de bancos de dados: a Web oferece inúmeras oportunidades para a sua utilização Gerência de Dados da Web Principais Contribuições da Tecnologia de BD Modelos de dados Linguagens de consulta Técnicas para processamento de consultas Mecanismos para manipulação de visões e integração de dados Mecanismos para manutenção de integridade Estruturas para armazenamento e indexação de grandes volumes de dados... 4

Gerência de Dados da Web Visão Geral Coleta Extração Classificação Disseminação Busca Consulta Publicação Mineração Integração Anotação Modelagem Armazenamento Dados Semi-Estruturados Características: Estrutura irregular e implícita Heterogêneos Diferentes tipos envolvidos Auto-descritivos e sem esquema prévio definido Fontes de dados semi-estruturados BD SGBD/SQL Modelo Relacional Arquivos BibTEX/LaTEX Arquivos HTML (anúncios, catálogos, etc.) e-mails/news BDT SRI Modelo Vetorial 5

Exemplo de Dados Semi-Estruturados Arquivo BibTex @article{cha91, author = {S.K. Cha, title = {Kaleidoscope: A Cooperative Menu-Guided Query Interface (SQL Version), journal = {IEEE Transactions on Knowledge and Data Engineering, year = 1991, volume = 3, number = 1, pages = {42-47 @book{dlr95, author = {C. Delobel and C. Lécluse and P. Richard, title = {Databases: From Relational to Object-Oriented Systems, year = 1995, publisher = {International Thompson Computer Press, address = {London, UK @conference{el85, author = {R. Elmasri and J.A. Larson, title = {A Graphical Query Facility for ER Databases, booktitle = {Proceedings of 4th International Conference on Entity-Relationship Approach, year = 1985, address = {Chicago, Illinois, pages = {263-245 Exemplo de Página da Web com Dados Semi-Estruturados 6

Exemplo de Página da Web com Dados Semi-Estruturados Modelo para Dados Semi-Estruturados bib complex object paper &o1 book paper references &o12 &o24 &o29 references references author author year author title http title author publisher title author author page &o43 &o96 &o25 firstname lastname 1997 atomic object firstname lastname first last &o54 Serge &o63 Abiteboul &o43 Victor &o206 Vianu &o64 122 &o92 133. Object Exchange Model (OEM) 7

Sintaxe para Dados Semi-Estruturados Bib: &o1 { paper: &o12 {, book: &o24 {, paper: &o29 { author: &o52 Abiteboul, author: &o96 { firstname: &243 Victor, lastname: &o206 Vianu, title: &o93 Regular path queries with constraints, references: &o12, references: &o24, pages: &o25 { first: &o64 122, last: &o92 133 Sintaxe para Dados Semi-Estruturados Oids podem ser omitidos: { paper: { author: Abiteboul, author: { firstname: Victor, lastname: Vianu, title: Regular path queries, page: { first: 122, last: 133 8

Sintaxe para Dados Semi-Estruturados Objetos não necessariamente do mesmo tipo { paper: { author: Abiteboul, author: { firstname: Victor, lastname: Vianu, title: Regular path queries with constraints, page: { first: 122, last: 133 { paper: { author: Abiteboul, title: Querying semistructured data, year: 1977, http: Comparação com Dados Relacionais name phone row row row name phone name phone name phone John 3634 Sue 6343 Dick 6363 John 3634 Sue 6343 Dick 6363 { row: { name: John, phone: 3634, row: { name: Sue, phone: 6343, row: { name: Dick, phone: 6363 9

Representação de BD Relacionais r1 ( a, b, c ) r2 ( c, d ) r1: a b c r2: c d a1 b1 c1 c2 d2 a2 b2 c2 c3 d3 c4 d4 { r1: { row: { a: a1, b: b1, c: c1, row: { a: a2, b: b2, c: c2, { r2: { row: { c: c2, d: d2, row: { c: c3, d: d3, row: { c: c4, d: d4 XML (extensible Markup Language) Padrão W3C que complementa HTML para intercâmbio de dados na Web www.w3c.org/tr/rec-xml Origem: SGML (padrão ISO, 1986) Motivação: HTML descreve apresentação XML descreve conteúdo Aplicações atuais necessitam de componentes de software especiais (wrappers) para extração de dados da Web 10

De HTML para XML HTML <h1> Bibliography </h1> <p> <i> Foundations of Databases </i> Abiteboul, Hull, Vianu <br> Addison Wesley, 1995 <p> <i> Data on the Web </i> Abiteoul, Buneman, Suciu <br> Morgan Kaufmann, 1999 Descreve a apresentação 11

XML <bibliography> <book> <title> Foundations </title> <author> Abiteboul </author> <author> Hull </author> <author> Vianu </author> <publisher> Addison Wesley </publisher> <year> 1995 </year> </book> </bibliography> Descreve o conteúdo XML vs. HTML Marcadores ( tags ) são definidos pelo usuário para indicar estrutura Estruturas podem ser aninhadas em um nível de profundidade arbitrário Um documento XML pode conter uma descrição opcional de sua gramática (DTD Document Type Definition) 12

Exemplo de um Documento XML <bibliography> <description> SSD papers </description> <papers> <paper> <author> Abiteboul </author> <author> Vianu </author> <title> Regular path queries with constraints </title> <year> 1977 </year> <page> <first> 122 </first> <last> 133 </last> </page> </paper> <paper> <author> Abiteboul </author> <title> Querying semistructured data </title> <year> 1977 </year> </paper> </papers> </bibliography> Dados XML e Semi-Estruturados Ambos são melhor descritos através de um grafo Ambos são auto-descritivos e não possuem esquema 13

Dados XML e Semi-Estruturados <person id= o123 > <name> Alan </name> <age> 42 </age> <email> ab@com </email> </person> { person: &o123 { name: Alan, age: 42, email: ab@com <person father= o123 > </person> person father name age email Alan 42 ab@com { person: { father: &o123 person father name age email Alan 42 ab@com Document Type Definitions (DTD) Uma DTD serve como uma gramática para o documento XML correspondente pode ser vista também como um esquema para os dados representados pelo documento XML <db> <!DOCTYPE db [ <person> <!ELEMENT db (person*)> <name> Alan </name> <!ELEMENT person (name,age, <age> 42 </age> email+)> <email> agb@abc.com </email> <!ELEMENT name (#PCDATA)> </person> <!ELEMENT age (#PCDATA)> <person>... </person> <!ELEMENT email (#PCDATA)>... ]> </db> 14

DTDs como Esquemas Limitações: Ordem implícita Inexistência de tipos atômicos Tipos (associados aos elementos) são globais Não há distinção entre referências Não podem ser processadas por ferramentas XML Outras propostas: DCD (Document Content Description) SOX (Schema for Object-Oriented XML) XML Schema XML Schema Recomendação W3C aprovada em maio de 2001 para definição de esquemas para documentos XML XML Schemas definem a estrutura, o conteúdo e a semântica de documentos XML Generalizam as DTDs Usam a sintaxe XML Dois documentos definem a linguagem XML Schema XML Schema Part 1: Structures http://www.w3.org/tr/xmlschema-1 XML Schema Part 2: Datatypes http://www.w3.org/tr/xmlschema-2 15

XML Schemas vs. DTDs Compreende mais de 40 tipos de dados Aceita o uso de namespaces Modelagem de dados orientada a objetos Tipos de dados podem ser derivados de outros tipos de dados e herdam suas características Restrições de integridade e valores válidos podem ser especificados para os elementos Comentários são realmente comentários (documentação) e não especificações de requisitos XML Schemas vs. DTDs <?xml version="1.0"encoding="utf8"?> <xs:schema xmlns:xs="http://.../xmlschema"> <xs:element name="person"> <xs:complextype> <?xml version="1.0" encoding="utf-8"?> <xs:sequence> <!ELEMENT Person (First, <xs:element name="first Middle?, Last, Age)> type="xs:string"/> <xs:element name="middle <!ELEMENT First (#PCDATA)> type="xs:string <!ELEMENT Middle (#PCDATA)> minoccurs="0"/> <!ELEMENT Last (#PCDATA)> <xs:element name="last <!ELEMENT Age (#PCDATA)> type="xs:string"/> <xs:element name="age type="xs:integer"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema> 16

XML Schemas: Limitações XML Schemas não são definidos para consumo humano! São extremamente verbosos Devem ser gerados automaticamente e processados por programas (parsers) A especificação XML Schema ocupa várias centenas de páginas Declaração de componentes não é ortogonal Diversas maneiras de se declarar elementos e atributos Diferentes maneiras de se utilizar namespaces Linguagens de Consulta Para a Web: WebSQL WebOQL Para dados semi-estruturados: Lorel Linguagem do sistema Lore, Stanford University StruQL Linguagem do ambiente Strudel, AT&T Research-Labs Para dados XML [Bonifati & Ceri, 2000]: XML-QL XQL (www.w3.org/tands/ql/ql98/pp/xql.html) XPath (www.w3.org/tr/xpath) XQuery (www.w3.org/tr/xquery) [Chamberlin, 2002] 17

XQuery XML Query Language Linguagem de consulta para dados XML proposta pelo W3C www.w3.org/tr/xquery/ Versão 1.0 em desenvolvimento desde 1999 Fortemente influenciada pela linguagem Quilt Proposta alinhada com outros padrões: XML Schema XPath 2.0 XSLT XQuery XML Query Language Linguagem de consulta para dados XML proposta pelo W3C www.w3.org/tr/xquery/ Versão 1.0 em desenvolvimento desde 1999 Fortemente influenciada pela linguagem Quilt Proposta alinhada com outros padrões: XML Schema XPath 2.0 XSLT 18

Um Documento XML e... <bib> <bib> <book> <publisher> Addison-Wesley </publisher> <author> Serge SergeAbiteboul </author> <author> <first-name> Rick Rick </first-name> <last-name> Hull Hull </last-name> </author> <author> Victor Victor Vianu Vianu </author> <title> <title> Foundations of of Databases </title> </title> <year> <year> 1995 1995 </year> </book> <book <bookprice= 55 > <publisher> Freeman </publisher> <author> Jeffrey JeffreyD. D. Ullman Ullman </author> <title> <title> Principles of of Database and andknowledge Base Base Systems </title> </title> <year> <year> 1998 1998 </year> </book> </bib> </bib>... sua Representação Raiz PI Comentários bib Elemento raiz book book publisher author.... Addison-Wesley Serge Abiteboul 19

Expressões de Caminho Liste todos os livros document( bib.xml )//book Liste todos os autores document( bib.xml )//author Liste o nome de todos os autores document( bib.xml )//author/text() Liste todos os autores que tenham primeiro nome document( bib.xml )//author[first-name] Liste todos os livros que custem menos que $55 document( bib.xml )//book[price < 55] Liste todos os títulos de um determinado autor document("bib.xml")//book[author = $x]/title Expressões FLWOR Permitem iteração e ordenação do resultado Utilizam asexpressões for, let, where, order by e return for lista ordenada de nodos-alvo associados a variváveis let lista ordenada de nodos (também associados a variáveis) usados para definir condições e resultados where define filtros condicionais order by impõe uma ordem aos resultados return geram os resultados Obs: FLWOR pronuncia-se como flower 20

Expressões FLWOR: Exemplo for $b in document("bib.xml")//book let $a := $b//author where $b/publisher = "Addison-Wesley" return <book> { $b/title, $a </book> Referências Abiteboul, S.; Buneman, P.; Suciu, D. Data on the Web: From Relations to Semistructured Data and XML. Morgan Kaufmann, San Francisco, CA, 2000. Bonifati, A.; Ceri, S. Comparative Analysis of Five XML Query Languages. SIGMOD Record 29, 1 (2000), 4-15. Chamberlin, D. D. XQuery: An XML query language. IBM Systems Journal 41(4): 597-615, 2002. Florescu, D., Levy, A.; Mendelzon, A. O. Database Techniques for the World Wide Web: a Survey. SIGMOD Record 27, 3 (1998), 59-74. Laender, A.F.L.; Moro, M.M.; Nascimento, C.; Martins, P. An X-Ray on Web-Available XML Schemas. SIGMOD Record 38, 1 (2009), 37-42. Lee, D.; Chu, W. W. Comparative Analysis of Six XML Schema Languages. SIGMOD Record, 29(3): 76-87, 2000. 21

WebSQL Linguagem desenvolvida na Universidade de Toronto para consulta à Web Combina as duas formas usuais de busca de informação na Web: consulta por palavras-chave navegação (browsing) Adota uma visão relacional da Web Considerada uma linguagem de primeira geração por não permitir a manipulação do conteúdo das páginas (ao contrário, por exemplo, da linguagem WebOQL) WebSQL Visão relacional da Web Document url title text length type modif http://www title 1 text 1 1234 text 1-2-2001 http://www title 2 text 2 2345 text 2-3-2002 http://www title 3 text 3 3456 text 3-4-2003 Anchor base http://www http://www http://www label label 1 label 2 label 3 href http://www http://www http://www Uma possível (?) consulta SQL: select d1.url, d2.url from Document d1, Document d2 where d1.title = d2.title and not (d1.url = d2.url) 22

WebSQL C1: select d1.url, d2.url from Document d1 such that d1 mentions assunto, Document d2 such that d1 mentions assunto where d1.title = d2.title and not (d1.url = d2.url); C2: select d.url, d.title from Document d such that http://www.ufmg.br -> d; C3: select d.url, d.title from Document d such that http://www.ufmg.br ->* d where d.text contains bancos de dados or d.title contains bancos de dados ; Lorel Essencialmente uma adaptação da linguagem OQL para dados semi-estruturados (modelo OEM). Centrada no conceito de expressão de caminho (path expression): uma seqüência de arcos da forma l 1.l 2..l n. Sintaxe básica: select obj: v from l 1.l 2..l n v where cond 23

Exemplos de Consultas em Lorel C1: select firstname: X from bib.paper.author.firstname X {firstname: Serge, firstname: Victor,... C2: select author: X from bib._*.author X {author: {firstname: Serge, lastname: Abiteboul,... XML-QL Combina a sintaxe XML com facilidades típicas das linguagens para dados semi-estruturados (variáveis, expressões de caminho, padrões para extração de dados, etc.) Utiliza templates para formatar o resultado de acordo com a sintaxe XML Relacionalmente completa 24

Exemplos de Consultas XML-QL C1: where <paper> <author> Abiteboul </author> <title> $T </title> </paper> in www.abc.net/bib.xml construct $T C2: where <paper> <author> Abiteboul</author> <title> $T </title> <year> $Y </year> </paper> in www.abc.net/bib.xml construct <result> <title> $T </> <year> $Y </> </> 25