A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bancos de dados e Web ( XML, Ontologias)

Apresentações semelhantes


Apresentação em tema: "Bancos de dados e Web ( XML, Ontologias)"— Transcrição da apresentação:

1 Bancos de dados e Web ( XML, Ontologias)
Prof.: Sandro Rigo

2 Sumário Motivação para uso de XML Características Gerais do XML Exemplo de uso Exercício: XML e BD Web semântica

3 Motivação para uso de XML

4 Na Web: - HTML : papel central na Web - Esquema de marcação para as páginas - Tempo curto de uso - Diversidade de modos de conexão: tv digital, handhels, telefones, carros, ... - Diversidade de mídias - Necessidade de custos menores

5 Dificuldades na Web : - número grande de tags HTML, - interpretação de tags pelo browser - uso de tags pelo criador das páginas - dificuldade de separar conteúdo e forma - pouca necessidade de clientes simples - muita necessidade de clientes complexos - melhorias nos formulários - combinações com: computação gráfica, animação, multimídia, e-commerce, matemática, meta-dados

6 Com Bases de Dados: - facilidades de exportação, validação e importação de dados - facilidades de modelagem e integração de modelos distintos

7

8

9 Exemplo de ontologia

10 Detalhes do mapeamento

11

12

13

14 uso em contextos determinados (navegador)
HTML XML marcação de apresentações, orientada para visualização marcação de conteúdo, orientada para dados não exige validação, interpretação livre fortemente validada, interpretação rígida elementos pré-definidos elementos livremente definidos uso em contextos determinados (navegador) uso em diversos contextos de aplicações de SW uso de gramática acesso com DOM acesso com DOM/SAX

15 - independente de plataforma - dependente de conteúdo
- recomendada pelo W3C em 1998 - HTML:aplicação da SGML (Standard Generalized Markup Language ), padrão internacional para descrição de documentos eletrônicos – ISO 8879. - XML criado como aplicação da SGML

16 - separação de conteúdo e estrutura do documento:
o conjunto de dados pode ser exibido (corretamente): -em um monitor de TV, -em um display de fone celular, - traduzido para voz em um dispositivo para cegos, - exibido em um monitor de computador, - recebido em um computador de bordo de carro

17 - tags interpretados pela aplicação/aplicativo
- tags case-sensitive - inclui “end tags”: </p> , </li> - inclui “/” para tag vazios: <br />, <hr /> - indica com aspas valores atribuídos: <img src=”teste.jpg" >

18 - a criação de tags não depende do W3C
- é estruturado - família de tecnologias (Xlink, XSL, DOM, XML Namespaces, XML Schemas, RDF)

19 XML: sucesso? Motivos: documentos e dados independentes de aplicações sintaxe padrão para metadados estrutura padrão para documentos e dados tecnologia antiga (SGML, TEX, ...) custo de processamento: suportável, atualmente

20 ÐÏࡱá >  þÿ   *  ,  þÿÿÿ ) ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á ð¿     bjbjÏ2Ï  . ­X ­X  ÿÿ ÿÿ ÿÿ ˆ 2  2      F j j j j v F “ ¶ Ž Ž Ž Ž Ž Ž Ž Ž         $ I R › \ 8   Ž Ž Ž Ž Ž    Ž Ž M  à à à Ž  2 Ž  Ž  à Ž  à  à ö   ö Ž ‚ :øÄ j ž ö  c 0 “ ö ÷ ¨  ÷ ö F F     ÷  ö  Ž Ž à Ž <body lang=PT-BR style='tab-interval:35.4pt'> <div class=Section1> <p class=MsoNormal>Teste com xml</p> </div>

21 Dados x Metadados Carlos Silva Nome Duque de Caxias 456 Endereço
CEP Porto Alegre Cidade Estrutura x Dados {brazilian} \contentsline {chapter}{\numberline {1}Modelo Cap\IeC {\'\i }tulo SWL}{4} \contentsline {section}{\numberline {1.1.}Introdu\c c\~ao}{4} \contentsline {subsection}{\numberline {1.1.1.}Subse\c c\~ao}{4} \contentsline {subsection}{\numberline {1.1.2.}Programas e Algoritmos}{5} \contentsline {subsection}{\numberline {1.1.3.}Linha de Comando}{5} \contentsline {subsection}{\numberline {1.1.4.}Figura}{5} \contentsline {subsection}{\numberline {1.1.5.}Tabela}{6} \contentsline {section}{\numberline {1.2.}Bibliografia}{6}

22 expansão Namespaces nomes únicos para elementos e atributos
prefixo + nome local <xsd:string> <dc:creator> declaração <xsd:schema xmlns:xsd=” expansão <html xmlns=” <head> <title>Teste</title> </head> <body> Corpo do teste </body> </html>

23 expansão Namespaces nomes únicos para elementos e atributos
prefixo + nome local <xsd:string> <dc:creator> declaração <xsd:schema xmlns:xsd=” expansão <html xmlns=” <head> <title>Teste</title> </head> <body> Corpo do teste </body> </html> <{ <{ <{ </{

24 elementos <email> <assunto>Revisão Geral</assunto>
<autor>Carlos Silva</autor> </ > Marcador de início <autor> Marcador de fim </autor> Marcador vazio <img /> Documento bem formado x válido Esquema (DTD/XMLSchema)

25 Estrutura de documentos XML:
Lógica: - elementos e sub-elementos, tipos de dados, atributos, restrições de cardinalidade... Física: - descrição dos dados de acordo com a estrutura lógica definida Documentos: - bem formados: seguem regras de sintaxe - válidos: seguem regras de sintaxe e de estrutura

26 Definição de estrutura:
DTD (Document Type Definition) x XML Schema DTD: mais simples, não tem descreve tipos de dados, não é extensível, sintaxe própria. Schema: linguagem extensível, descreve tipos de dados, descreve cardinalidade, suporta namespaces, sintaxe XML.

27 usado junto com uma gramática:
DTD XML Schema

28 - usado junto com uma gramática: o DTD
DTD - Document Type Definition - definições que descrevem o uso das marcações. - indica elementos, atributos e valores - indica relacionamento entre os elementos - pode definir também entidades

29 - exemplo de DTD para email:
<!ELEMENT Mail (From, To, Cc?, Date?, Subject, Body)> <!ELEMENT From (#PCDATA) > <!ELEMENT To (#PCDATA) > <!ELEMENT Cc (#PCDATA) > <!ELEMENT Date (#PCDATA) > <!ELEMENT Subject (#PCDATA) > <!ELEMENT Body (#PCDATA | P | Br)* > <!ELEMENT P (#PCDATA | Br)* > <!ATTLIST P align (left | right | justify) "left" > <!ELEMENT Br EMPTY >

30 - apenas um: from, to, subject, body - opcional: cc, date (?)
<!ELEMENT Mail (From, To, Cc?, Date?, Subject, Body)> <!ELEMENT From (#PCDATA) > <!ELEMENT To (#PCDATA) > <!ELEMENT Cc (#PCDATA) > <!ELEMENT Date (#PCDATA) > <!ELEMENT Subject (#PCDATA) > <!ELEMENT Body (#PCDATA | P | Br)* > <!ELEMENT P (#PCDATA | Br)* > <!ATTLIST P align (left | right | justify) "left" > <!ELEMENT Br EMPTY > - apenas um: from, to, subject, body - opcional: cc, date (?) - apenas texto: from, to, cc, data. Subject.

31 <!ELEMENT Mail (From, To, Cc?, Date?, Subject, Body)>
<!ELEMENT From (#PCDATA) > <!ELEMENT To (#PCDATA) > <!ELEMENT Cc (#PCDATA) > <!ELEMENT Date (#PCDATA) > <!ELEMENT Subject (#PCDATA) > <!ELEMENT Body (#PCDATA | P | Br)* > <!ELEMENT P (#PCDATA | Br)* > <!ATTLIST P align (left | right | justify) "left" > <!ELEMENT Br EMPTY > - campo body: texto, P, Br - Campo P: texto e zero ou mais Br e um atributo: align (valores: left/right/justify, default:left)

32 Schema Simples: <xsd:element name=”autor” type=”xsd:string” />
Complexo: <xsd:element name=”livro”> <xsd:complexType> <xsd:attribute name=”titulo” type=”xsd:string” /> <xsd:attribute name=”paginas” type = “xsd:int” /> </xsd:complexType> </xsd:element>

33 Especificações básicas:
XML 1.0: define a sintaxe da XML XPointer e Xlink: define mecanismos de representação de ligações entre documentos, permitindo ligação de recursos múltiplos e em formatos diferentes. XSL: define a linguagem utilizada para descrever estilos para documentos XML

34 - realiza o leitura do documento e valida o mesmo junto ao DTD.
Browser XML: - realiza o leitura do documento e valida o mesmo junto ao DTD. - indicação da localização do DTD: <!DOCTYPE Mail system " <Mail> </Mail>

35 - realiza o leitura do documento e valida o mesmo junto ao DTD.
Browser XML: - realiza o leitura do documento e valida o mesmo junto ao DTD. - indicação da localização do DTD: <!DOCTYPE Mail system " <Mail> </Mail> - Documento “well-formed” : dentro das regras básicas

36 - realiza o leitura do documento e valida o mesmo junto ao DTD.
Browser XML: - realiza o leitura do documento e valida o mesmo junto ao DTD. - indicação da localização do DTD: <!DOCTYPE Mail system " <Mail> </Mail> - Documento “well-formed” : dentro das regras básicas - Documento Válido: “well-formed” e dentro de uma especificação de um DTD.

37 Exemplo: “well-formed”
<?xml version="1.0" standalone=“yes"?> <Mail> <From>Autor</From> <To>Alguém</To> <Date> Terça - 14 de agosto de 2000</Date> <Subject>Introdução ao XML </Subject> <body><p>Obrigado pela leitura<Br/> desta introdução</p> <br/> <p>Esperamos que seja proveitosa</p> </body> </Mail>

38 Exemplo: “well-formed” & Válido
<?xml version="1.0" standalone="no"?> <!DOCTYPE mail system “ <Mail> <From>Autor</From> <To>Alguém</To> <Date> Terça - 14 de agosto de 2000</Date> <Subject>Introdução ao XML </Subject> <body>Comentários:<p align=“justify”>Obrigado pela leitura<Br/></p> <p>Esperamos que seja proveitosa</p> </body> </Mail>

39 Exemplo: “well-formed” & Válido
<?xml version="1.0" standalone="no"?> <!DOCTYPE mail system “ <Mail> <From>Autor</From> <To>Alguém</To> <Date> Terça - 14 de agosto de 2000</Date> <Subject>Introdução ao XML </Subject> <body>Comentários:<p align=“justify”>Obrigado pela leitura<Br/></p> <p>Esperamos que seja proveitosa</p> </body> </Mail>

40 3. Exemplo de uso Lista de disciplinas

41 Lista de disciplinas - Versão HTML

42 Lista de disciplinas - Versão HTML
<html><head><title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso "></head> <body bgcolor="#FFFFFF"><div align="center"> <p>Lista de Disciplinas</p> <table width="85%" border="1"> <tr> <td width="25%"> <b><font color="#FF3333">Nome</font></b></td> <td width="25%"><b><font color="#FF3333">Professor</font></b> </td> <td width="25%"><b><font color="#FF3333">Assunto</font></b> </td> <td width="25%"><b><font color="#FF3333">Código</font></b> </td> </tr> <tr> <td width="25%"><b><font color="#0000FF"><i>Redes de Computadores e Protocolo TCP/IP</i></font></b></td> <td width="25%">Valter Nunes</td> <td width="25%">TCP/IP</td> <td width="25%">PR4101</td> </td></tr> ......</body></html>

43 Lista de disciplinas - DTD
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT LISTA_DISC (DISC)> <!ELEMENT DISC (NOME_DISC, PROF_DISC, ASSUNTO_DISC, COD_DISC)> <!ELEMENT NOME_DISC (#PCDATA)> <!ELEMENT PROF_DISC (#PCDATA)> <!ELEMENT ASSUNTO_DISC (#PCDATA)> <!ELEMENT COD_DISC (#PCDATA)>

44 Lista de disciplinas - Dados <LISTA_DISC> <DISC>
<NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC> <NOME_DISC>Tecnologias de Transmissao</NOME_DISC> <PROF_DISC>Carlos Silva</PROF_DISC> <ASSUNTO_DISC>ATM</ASSUNTO_DISC> <COD_DISC>PR4102</COD_DISC> </LISTA_DISC>

45 Lista de disciplinas - Doc.XML <?xml version='1.0'?>
<!DOCTYPE teste SYSTEM "listadisc.dtd"> <?xml:stylesheet type="text/xsl" href="lista-disciplinas.xsl"?> <LISTA_DISC> <DISC> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC>

46 Lista de disciplinas - Estilo.XSL
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl=" xmlns=" /TR/REC-html40" result-ns="" default-space="strip" indent-result="yes"> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR> <TD align="center"><FONT ...>Nome</FONT></TD> <TD align="center"><FONT ...>Professor</FONT></TD> <TD align="center"><FONT ...>Assunto</FONT></TD> <TD align="center"><FONT ...>Codigo</FONT></TD> </TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD align="left"><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/></FONT></B></I></TD>

47 Lista de disciplinas - Estilo.XSL
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl=" xmlns=" /TR/REC-html40" result-ns="" default-space="strip" indent-result="yes"> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR> <TD align="center"><FONT ...>Nome</FONT></TD> <TD align="center"><FONT ...>Professor</FONT></TD> <TD align="center"><FONT ...>Assunto</FONT></TD> <TD align="center"><FONT ...>Codigo</FONT></TD> </TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD align="left"><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/></FONT></B></I></TD>

48 Lista de disciplinas - Aplicação
<HEAD> <SCRIPT FOR="window" EVENT="onload"> var xmlDso = xmldso.XMLDocument; xmlDso.load("listadisc-dados.xml"); </SCRIPT> </HEAD> <BODY> <OBJECT WIDTH="0" HEIGHT="0" CLASSID="clsid:550" ID="xmldso"> </OBJECT> <SPAN STYLE="font-weight:bold">Nome: </SPAN> <SPAN ID="Nome_disciplina" DATASRC=#xmldso DATAFLD="NOME_DISC" STYLE="color:blue"> </SPAN> ..... <INPUT TYPE=button VALUE="Disciplina Anterior" ONCLICK="xmldso.recordset.moveprevious()"> <INPUT TYPE=button VALUE="Proxima Disciplina" ONCLICK="xmldso.recordset.movenext()"

49 Codificação: Diversos formatos existentes: Latin-1 / ISSO (ASCII+alfabetos latinos) ISO (línguas da Europa central) ISO (esperanto, turco, maltês) ISO (alfabeto cirílico-russo, línguas eslavas) Para faciltar intercâmbio: uso do unicode ( formatos mais usados: UTF-8, UTF-16

50 NAMESPACES: Definição de contextos para cada elemento descrito O mesmo marcador pode ter diversas concepções Exemplo: <title> Em HTML: título da janela <title> Em um livro: título do livro <title> Em uma aplicação: nome do assunto ! No W3C: Uso: <xsl:stylesheet xmlns:xsl=" > <xsl:template

51 Atributos reservados: xml: lang – indica a linguagem utilizada
exemplo: <quote xml:lang=“en”>......</quote> <quote xml:lang=“pt”>......</quote> xml:space – indicação de espaço a ser preservado na apresentação dos dados do documento

52 Criação de documento XSL
- O documento XSL permite aplicar formatação de estilo aos dados em documentos XML - Possibilita a transformação de uma mesma fonte para diversos formatos finais - Roteiro: 1. analisador XML monta a estrutura dos dados 2. processador XSLT aplica as instruções do documento XSL nesta estrutura de dados. 3. o resultado é enviado para um leitor

53 Documento XML com dados e indicação do doc. XSL
Exemplo: Documento XML com dados e indicação do doc. XSL <?xml version='1.0'?> <!DOCTYPE teste SYSTEM "listadisc2.dtd"> <?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> <LISTA_DISC> <DISC> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC>

54 Documento XML com dados e indicação do doc. XSL
Exemplo: Documento XML com dados e indicação do doc. XSL <?xml version='1.0'?> <!DOCTYPE teste SYSTEM "listadisc2.dtd"> <?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> <LISTA_DISC> <DISC> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC>

55 Documento XML com dados e indicação do doc. XSL
Exemplo: Documento XML com dados e indicação do doc. XSL <?xml version='1.0'?> <!DOCTYPE teste SYSTEM "listadisc2.dtd"> <?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> <LISTA_DISC> <DISC> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> <PROF_DISC>Valter Nunes</PROF_DISC> <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC> <COD_DISC>PR4101</COD_DISC> </DISC>

56 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

57 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

58 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

59 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

60 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

61 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

62 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

63 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

64 Exemplo: b) Documento XSL
<?xml:stylesheet type="text/xsl" href="lista-disciplinas2.xsl"?> ?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl= ...> <xsl:template match="/"> <HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> </FONT></B></I> </TD> < TD align="center"> <xsl:apply-templates select="PROF_DISC"/> </TR> </xsl:for-each> </TABLE></CENTER></BODY></HTML> </xsl:template> </xsl:stylesheet>

65 Exemplo: b) Documento XSL <xsl:template match="/">
<HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR>

66 Exemplo: b) Documento XSL <xsl:template match="/">
<HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400">

67 Exemplo: b) Documento XSL <xsl:template match="/">
<HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> Redes de Computadores e Protocolo TCP/IP <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC>

68 Exemplo: b) Documento XSL <xsl:template match="/">
<HTML><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> Redes de Computadores e Protocolo TCP/IP <xsl:for-each select="/LISTA_DISC/DISC"> <TR><TD><I><B><FONT COLOR="#006400"> <xsl:apply-templates select="NOME_DISC"/> <NOME_DISC>Redes de Computadores e Protocolo TCP/IP</NOME_DISC> </FONT></B></I></TD>< TD align="center">

69 Exemplo: b) Documento XSL
<HTL><HEAD><TITLE>Titulo </TITLE></HEAD> <BODY><CENTER><H3>LISTA DE DISCIPLINAS</H3> <TABLE BORDER="1"> <TR><TD>Nome</TD><TD>Professor</TD></TR> <TR><TD><I><B><FONT COLOR="#006400"> Redes de Computadores e Protocolo TCP/IP </FONT></B></I></TD>< TD align="center"> Valter Nunes </TD></TR> </TABLE></CENTER> </BODY> </HTML>

70 Publicação de dados com XML/XSL
Roteiro: - criação dos documentos - uso de parser (nos navegadores) - visualização dos resultados (em navegadores)

71 elementos <email> <assunto>Revisão Geral</assunto>
<autor>Carlos Silva</autor> </ > Marcador de início <autor> Marcador de fim </autor> Marcador vazio <img /> Documento bem formado x válido Esquema (DTD/XMLSchema)

72 DOM / SAX DOM Estrutura de nodos
documento, elemento, atributo, texto, comentário Manipulação em memória SAX Estrutura de eventos início, texto, fim manipulação em trechos

73 http://www.w3.org/DOM DOM: (segundo o W3C)
“O modelo de objetos para documentos (DOM) é uma API padrão para a estrutura de documentos e tem por objetivo facilitar o acesso de programadores aos seus conteúdos, para tarefas como apagar, acrescentar ou editar conteúdos, atributos ou estilos.” “...Interface neutra com relação à plataformas e linguagens...”

74 Exemplos - DOM: Tipo de nodo Exemplo Tipo de documento <!DOCTYPE mail SYSTEM “mail.dtd"> Instrução de processamento <?xml version="1.0"?> Elemento <from Atributo ordem=“left" Conteúdo/Texto

75 http://www.saxproject.org SAX: (segundo o SaxProject)
“SAX (Simple Api for Xml) teve seu início em 1997 e implementa uma interface padrão para análise de documentos XML. Diferencia-se do DOM por ser baseada em eventos e não baseada em árvores.” “Apresenta melhor desempenho em determinadas situações pois não existe a necessidade de percorrer todo o documento e montar uma estrutura em árvore para somente depois iniciar a sua manipulação.”

76 Exemplo: Documento: Resultado da análise: <?xml version=“1.0”>
<mail> </mail> Resultado da análise: start document start element: mail start element: to characters: end element: to end element: mail

77 Ferramentas: PARSERS - SAX SAXPROJECT.ORG:
The GNU Compiler for Java (GCJ) has for some time derived C++ bindings ("CNI" versus "JNI") directly from the Java interfaces. These allow C++ programs to use SAX2 Java parsers compiled to native code just like C++ classes, with only the overhead of a C++ virtual method invocation, not the significantly larger overhead of JNI. Microsoft's MSXML 3.0 parser defines a COM binding, accessible from C, C++, Visual Basic, and more. Pascal, with a Delphi focus. Version 1.1 is done, supports SAX2r2. Perl (also check CPAN). Python 2.0 and later bundles several SAX packages (xml.sax and so on) as part of its markup processing support. SAX in C++, provides another C++ binding, using standard features of C++ such as namespaces, std::string, and templates. Xerces-C, part of the Apache XML project, defines its own C and C++ bindings. This C++ binding makes minimal use of C++ features. Curl Corporation defines its own web content language, and includes SAX2 support in its runtime environment. ElCel Corporation provides a C++ XML toolkit with a SAX 2.0 binding.

78 Ferramentas: PARSERS - DOM W3C + GOOGLE: XP - www.jclark.com/xml/xp/
Microsoft - Microsoft's MSXML 3.0 Alphaworks - Expat - expat.sourceforge.net/ Apache – Xerces - xml.apache.org/xerces-j/

79 DOM / SAX - Uso - Parser XML com Javascript: carga de arquivo <script type="text/javascript"> var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load(“mail.xml") // processamento </script>

80 DOM / SAX - Uso Parser XML com Javascript: escrita de arquivo
<script type="text/javascript"> var text="<nota>“ text=text+"<para>Carlos</para><de>Silvia</de>" text=text+"<titulo>Lembrete!</titulo>" text=text+"<texto>Não se esqueça ...</texto>" text=text+"</nota>" var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.loadXML(text) // processamento </script>

81 DOM / SAX - Uso DOM/nodos: propriedades, métodos nodeTypeString
nodeName nodeValue Constante 1 element tagName Nulo ELEMENT_NODE 2 attribute name valor ATTRIBUTE_NODE 3 text #text Conteúdo do nodo TEXT_NODE 4 cdatasection #cdata-section CDATA_SECTION_NODE 5 entityreference entity reference name ENTITY_REFERENCE_NODE 6 entity entity name ENTITY_NODE 7 processinginstruction target PROCESSING_INSTRUCTION_NODE 8 comment #comment Texto do comentário COMMENT_NODE 9 document #document DOCUMENT_NODE 10 documenttype doctype name DOCUMENT_TYPE_NODE 11 documentfragment #document fragment DOCUMENT_FRAGMENT_NODE 12 notation notation name NOTATION_NODE

82 DOM / SAX - Uso DOM/nodos: propriedades, métodos Propriedade Descrição
Attributes Retorna um mapa de nodos (NamedNodeMap)com todos os atributos deste nodo ChildNodes Retorna uma lista de nodos (NodeList) com todos os nodos filho FirstChild Retorna o primeiro filho deste nodo LastChild Retorna o último filho deste nodo NextSibling Retorna o próximo nodo irmão (filho do mesmo pai) NodeName Retorna o nome do nodo NodeType Retorna o tipo do nodo NodeValue Retorna o valor do nodo ownerDocument Retorna o nodo raiz do documento parentNode Retorna o nodo pai do nodo atual previousSibling Retorna o nodo irmão (filho do mesmo pai) anterior ao nodo atual

83 DOM / SAX - Uso DOM/nodos: propriedades, métodos Métodos Descrição
appendChild(novo) Insere nodo filho cloneNode(boolean) Retorna um clone do nodo atual. Se o valor nooleano for verdadeiro clona os filhos também hasChildNodes() Retorna verdadeiro se o nodo tem filhos insertBefore(novo,referência) Insere um novo nodo antes do nodo referência removeChild(nome) Remove o nodo especificado pelo nome replaceChild(novo, antigo) Substitui

84 Recursos para ligação XML: especificação XLink Elementos: link (simplelink, extendedlink) “participantes” do link documento XML ou não (texto, vídeo, .....) parte de documento (identificada c/ XPointer) locais ou remotos (locator = URI) metadados sobre os participantes

85 Recursos para ligação Exemplo:
<prod num="23">XMLDecl :...>'</prod> <prod num="22">prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</prod> <para>Referências para o documento: veja <simplelink xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">regra 22 </simplelink>. </para> LINK LOCATION:

86 Recursos para ligação Exemplo:
<prod num="23">XMLDecl :...>'</prod> <prod num="22">prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</prod> <para>Referências para o documento: veja <simplelink xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">regra 22 </simplelink>. </para> LINK LOCATION:

87 Recursos para ligação XML: especificação XLink Elementos: link (simplelink, extendedlink) “participantes” do link documento XML ou não (texto, vídeo, .....) parte de documento (identificada c/ XPointer) locais ou remotos (locator = URI) metadados sobre os participantes “arcos” – início e fim de uma ligação

88 Recursos para ligação Exemplo: .......
<extendedlink xlink:type="extended"> <loc xlink:type="locator" xlink:label="prolog-ref" xlink:href="#xpointer(string-range(//text(),'prolog'))" /> xlink:label="prolog" xlink:href="#/1/2/5" <arc xlink:type="arc" xlink:from="prolog-ref" xlink:to="prolog" xlink:show="new" xlink:actuate="onRequest" </extendedlink>

89 Recursos para ligação Exemplo: .......
<extendedlink xlink:type="extended"> <loc xlink:type="locator" xlink:label="prolog-ref" xlink:href="#xpointer(string-range(//text(),'prolog'))" /> xlink:label="prolog" xlink:href="#/1/2/5" <arc xlink:type="arc" xlink:from="prolog-ref" xlink:to="prolog" xlink:show="new" xlink:actuate="onRequest" </extendedlink>

90 Recursos para ligação Exemplo: ....... A
<extendedlink xlink:type="extended"> <loc xlink:type="locator" xlink:label="prolog-ref" xlink:href="#xpointer(string-range(//text(),'prolog'))" /> xlink:label="prolog" xlink:href="#/1/2/5" <arc xlink:type="arc" <arc xlink:type="arc" xlink:from="prolog-ref" xlink:from="prolog" xlink:to="prolog" xlink:to="prolog-ref" xlink:show="new" xlink:show="new" xlink:actuate="onRequest" xlink:actuate="onRequest" xlink:title=“Ref. -> Prolog” Xlink:title=“Prolog -> Ref.” /> /> </extendedlink> A B

91 XML: especificação Xlink
criação de elemento xlink simples <xlink:simple href=“autor.xml” role=“lista de autores” title=“Lista de Autores” show=“replace” actuate=“onRequest”> Lista de autores </xlink:simple>

92 XML: especificação Xlink
- role: string definindo o conteúdo do link; pode ser usada na renderização.

93 XML: especificação Xlink
- role: string definindo o conteúdo do link; pode ser usada na renderização. title: string contendo a descrição do link (alt)

94 XML: especificação Xlink
- role: string definindo o conteúdo do link; pode ser usada na renderização. title: string contendo a descrição do link (alt) show: forma de renderização new: conteúdo exibido em novo contexto replace: substituição de contexto embedded: conteúdo misturado com o contexto atual

95 XML: especificação Xlink
- role: string definindo o conteúdo do link; pode ser usada na renderização. title: string contendo a descrição do link (alt) show: forma de renderização new: conteúdo exibido em novo contexto replace: substituição de contexto embedded: conteúdo misturado com o contexto atual actuate: forma de atuação do link onRequest : quando o usuário solicitar onLoad: quando o documento é carregado

96 XML: especificação Xlink
XML: especificação Xlink : Links Extendidos permitem mais de um recurso ser indicado devem ser descritos em documento separado Atributos: - type : extended - role, title: idem link simples - locator: indica os recursos a serem linkados - arc: indica conexões entre recursos - from: origem do link extendido - to: destino do link extendido - resource: definem sub-elementos do link

97 Recursos para ligação XML: especificação Xlink: Links Extendidos <xlink:extended role=“xlink:external-linkset” <xlink:locator href=“...” role=“linkdatabase” title=“Catalogo de links”/> </xlink:extended>

98 XML: especificação Xlink XML: especificação Xlink: Links Extendidos
<xlink:extended role=“xlink:external-linkset” <xlink:locator href=“...” role=“linkdatabase” title=“Catalogo de links”/> </xlink:extended> Recurso 1 <local> Recurso 2 <local> biblioteca de links Recurso 3 <local> Recurso 4 <local>

99 XML: especificação Xlink XML: especificação Xlink: Links Extendidos
<xlink:extended role=“xlink:external-linkset” <xlink:locator href=“...” role=“linkdatabase” title=“Catalogo de links”/> </xlink:extended> Recurso 1 <local> Recurso 2 <local> biblioteca de links Recurso 3 <local> Recurso 4 <local>

100 XML: especificação XPointer
Identificação de fragmentos de documentos XML Sintaxe simples: documento#identificador documento#esquema

101 XML: especificação XPointer
Identificação de fragmentos de documentos XML Sintaxe simples: documento#identificador documento#esquema Exemplo: XML: XPointer: <lista> documento#d1 <disc id=“d1” /> documento#element(/1/1) <disc id=“d2” /> </lista>

102 XML: especificação XPointer Exemplos:
Documento XML: <lista> <disc id=“d1” >.....</disc> <disc id=“d2” ><nome>redes...</nome><horario>...</horario></disc> <disc id=“d3” ><nome>...</nome><horario>...</horario><sala>....</sala></disc> </lista> Descrições: a) <link xmlns:xlink=" xlink:type="simple“ xlink:href="documento.xml#xpointer(//LISTA/DISC[1])"> </link> b) #xpointer(/1/3/3) -> sala da disciplina “d3” c) #xpointer(id(“d3”/[3]) -> sala da disciplina “d3” d) #xpointer(start-point(//lista)) -> início da lista e) #xpointer(start-point(string-range(/*,’redes’,1,0)) -> início do nome de “d2”

103 Aplicações Uso de DOM/SAX como bibliotecas Disponibilidade em diversas linguagens Uso em diversos contextos Maior flexibilidade

104 http://www.w3.org/xpath XPATH
biblioteca de funções padrão para acesso aos elementos de documento XML Objetivo: suportar XLink/XPointer/XSLT Sintaxe simplificada para identificação de elementos Possibilidades de indicações relativas W3C Recommendation 16 November 1999

105 XPATH Uso no XSL: <xsl:template match="/"> <xsl:for-each select="/LISTA_DISC/DISC">

106 XPATH - Sintaxe Localização de nodos: / - caminho absoluto (/disc -> indica elem. pelo nome) // - critério (//cod_disc -> qualquer caminho até o elemento cod_disc) /* - “curinga” ( /disc/*/nome_prof) [ ] – posição ( /disc[2] – terceira disciplina na lista) [last()] – última posição (/disc[last()] ) [nome] – existência de elemento (/disc[horas_aula]) [nome=valor] – existência de elemento com valor (/disc[horas_aula=50])

107 <xsl:if test="TURNO_DISC > 1"> ....
XPATH - exemplo Com XSLT (aula 3) <xsl:if test="TURNO_DISC > 1"> .... <DISC>  <NOME_DISC>Redes de ...TCP/IP</NOME_DISC> <PROF_DISC>ValterNunes</PROF_DISC>   <ASSUNTO_DISC>TCP/IP</ASSUNTO_DISC>   <COD_DISC>PR4101</COD_DISC>   <TURNO_DISC>2</TURNO_DISC>   </DISC>

108 XPATH - exemplo Com Xpath:
xmlDoc.load(" path="/LISTA_DISC/DISC[TURNO_DISC>1]" set nodos=xmlDoc.selectNodes(path) document.write("Lista ...com turno > 1:") for each x in nodos document.write("<xmp>") document.write(x.xml) document.write("</xmp>") next

109 EXERCÍCIO Descreva um arquivo xml para uso em uma agenda de telefones
Elementos mínimos: nome, , fone, endereço, data de nascimento Permitir: dois tipos de fone e (residencial e comercial) Após: Implemente uma tabela para comportar estes dados.

110 Roteiro: Cronograma, trabalhos, material Recursos Tecnológicos Interação por voz Indexação – web semântica

111 Indexação - Web Semântica
Sintaxe: forma de expressão Semântica: conteúdo (significado) Web semântica organização explícita da informação compartilhamento de terminologia informação disponível para programas

112 Indexação - Web Semântica
Tarefa: procurar pela homepage do Sr. e a Sra. Chaves, que são professores universitários Procurando em ferramentas de busca por Chaves, você encontrará várias páginas sobre chaveiros, e procurando por universidade também retornará várias páginas de universidades. Pesquisar os dois termos juntos modifica pouco o resultado.

113 Indexação - Web Semântica
Seria interessante poder consultar da seguinte forma: Encontre páginas para todo x, y, and z tal que x é uma pessoa, y é uma pessoa, z é uma universidade nome( x,"Chaves") e nome( y,"Chaves") e trabalha_em( z, x) e trabalha_em( z, y) e casado_com( x, y)

114 Indexação - Web Semântica
Tecnologias XML (eXtensible Markup language) RDF (Resource Description Framework) Ontologia (RDFS, DAMIL+OIL, SHOE, OWL) Lógicas (Description Logics) Inferência (Prova)

115 Indexação - Web Semântica

116 Indexação - Web Semântica
Sintaxe bem definida: conjunto de caracteres interoperabilidade entre plataformas distintas descrição correta da estrutura da informação identificação correta da informação

117 Indexação - Web Semântica
Sintaxe bem definida: exemplos: xml descrevendo disciplina professor ministrante anotação em texto

118 { Web Semântica Sintaxe bem definida: exemplo: xml p/ disciplina,
página de professor anotação em texto {

119

120 Indexação - Web Semântica
Sintaxe bem definida: exemplos: xml descrevendo disciplina professor ministrante anotação em texto

121

122 Indexação - Web Semântica
Sintaxe bem definida: exemplo contrário : dados similares em HTML

123 <html><head><title>Untitled Document</title> </head>
<body bgcolor="#FFFFFF"> <p>Lista de Disciplinas</p> <table width="85%" border="1"> <tr> <td > <b><font color="#FF3333">Nome</font></b></td> <td ><b><font color="#FF3333">Professor</font></b> </td> <td ><b><font color="#FF3333">Assunto</font></b> </td> <td ><b><font color="#FF3333">Código</font></b> </td> </tr> <td ><b><font color="#0000FF"><i>Redes de Computadores </i></font></b></td> <td >Valter Nunes</td> <td >TCP/IP</td> <td >PR4101</td> </tr>..... </table></body></html>

124 <html><head><title>Untitled Document</title> </head>
<body bgcolor="#FFFFFF"> <p>Lista de Disciplinas</p> <table width="85%" border="1"> <tr> <td > <b><font color="#FF3333">Nome</font></b></td> <td ><b><font color="#FF3333">Professor</font></b> </td> <td ><b><font color="#FF3333">Assunto</font></b> </td> <td ><b><font color="#FF3333">Código</font></b> </td> </tr> <td ><b><font color="#0000FF"><i>Redes de Computadores </i></font></b></td> <td >Valter Nunes</td> <td >TCP/IP</td> <td >PR4101</td> </tr>..... </table></body></html>

125 <html><head><title>Untitled Document</title> </head>
<body bgcolor="#FFFFFF"> <p>Lista de Disciplinas</p> <table width="85%" border="1"> <tr> <td > <b><font color="#FF3333">Nome</font></b></td> <td ><b><font color="#FF3333">Professor</font></b> </td> <td ><b><font color="#FF3333">Assunto</font></b> </td> <td ><b><font color="#FF3333">Código</font></b> </td> </tr> <td ><b><font color="#0000FF"><i>Redes de Computadores </i></font></b></td> <td >Valter Nunes</td> <td >TCP/IP</td> <td >PR4101</td> </tr>..... </table></body></html>

126 Indexação - Web Semântica
Semântica bem definida: compartilhamento de terminologia descrição de relações descrição de atributos

127 Indexação - Web Semântica
Semântica bem definida: linguagens para descrever ontologias: RDFS DAML+OIL OWL

128

129

130

131 Indexação - Web Semântica
Semântica bem definida: linguagens para descrever (na web) ontologias: RDFS DAML+OIL OWL

132 Indexação - Web Semântica
Uso dos recursos descritos: recuperação de informações validação de informações obtidas aplicações de software

133 Ontologias Em Filosofia: Em IA:
estudo do que existe no mundo Em IA: especificação das classes, objetos e relações de um domínio “Especificação explícita de uma conceitualização” [GUA97]

134 Ontologias Conjuntos de asserções:
relações entre conceitos regras de raciocínio Possibilitam a interpretação do significado das informações

135 Ontologias Domínio ontologias gerais ontologias específicas
exemplos: universidade, impressora, geográfica,...

136 Ontologia na web semântica
Integração de informações compartilhamento de termos(conceitos) definição de atributos descrição de relações construção de conhecimento manutenção de ontologias inferência recuperação de informações e relações

137 OWL (Ontology Web Language)
W3C: candidate recommendation (8/2003) Extende RDFS Experiências: DAML, OIL, RDFS Vocabulário, em XML, para descrição de classes e relações Suporte para inferência APIs para manipulação (Jena) Suporte em editores (Protege)

138 OWL (Ontology Web Language)
DAML DAML+OIL OWL: OIL OWL RDF DAML = DARPA Agent Markup Language OIL = Ontology Inference Layer

139 Inferência Objetivos da Web semântica Possibilidades, com inferência
informação “inteligível” para a máquina “raciocínio”: validação, descoberta Possibilidades, com inferência verificação de consistência (ontologias) hierarquia de classes (ontologias) integração entre ontologias distintas consultas: classes, instâncias

140 Inferência Dada uma ontologia Dada uma sentença
conceitos Relações Dada uma sentença relação específica conceito específico Usando-se regras de inferência validação ou descoberta

141 Inferência Usuário Aplicações Ontologia: -conceitos -relações
Sentença: -relação específica -conceito específico regras de inferência validação ou descoberta

142 OWL (Ontology Web Language)
Exemplos de uso (1): Identificação de um suspeito <Assalto rdf:ID=“rep XT74”> <descricao>…</descricao> <suspeito> <Pessoa rdf:about=“ </suspeito> </Assalto>

143 OWL (Ontology Web Language)
Exemplos de uso (1): b) Notificação por excesso de velocidade <Notificacao rdf:ID=“rep WQ464”> <descricao>…</descricao> <motorista> <Pessoa rdf:about=“ </motorista> </Assalto>

144 OWL (Ontology Web Language)
Exemplos de uso (1): c) No BD da polícia <Pessoa rdf:about= <owl:sameIndividualAs rdf:about= </Pessoa>

145 OWL (Ontology Web Language)
Exemplos de uso (1): d) Relacionando: Assalto Joao_da_Silva owl:sameIndividualAs Carlos_Silva Notificacao

146 OWL (Ontology Web Language)
Exemplos de uso (1): Inferência possível: Joao_da_Silva e Carlos_Silva são a mesma pessoa! d) Relacionando: Assalto Joao_da_Silva owl:sameIndividualAs Carlos_Silva Notificacao

147 OWL (Ontology Web Language)
Exemplos de uso (2): a) Pesquisa: orçamento de câmera WebSite 2 Pesquise câmeras Envie catálogo 1 3 Agente de software Catálogo solicitado 4 5 <SLR rdf:ID=“Olympus-OM10”> <lentes>300mm zoom</lentes> <custo>$2500 USD</custo> </SLR> “SLR” é uma câmera??

148 OWL (Ontology Web Language)
Exemplos de uso (2): b) Consulta ontologia sobre câmeras camera Relações de subclasse na ontologia Sobre cameras indicam que SLR é um tipo de camera. Inferência possível: “SLR é um tipo de Câmera” SLR Digital


Carregar ppt "Bancos de dados e Web ( XML, Ontologias)"

Apresentações semelhantes


Anúncios Google