Padres da W 3 C para representao de
- Slides: 49
Padrões da W 3 C para representação de conhecimento distribuída na web Luciano Barbosa e Jacques Robin CIn-UFPE
Roteiro 1. 2. 3. 4. 5. 6. 7. Infra-estrutura da Namespaces W 3 C para web semântica CSS DTDs XSLT XML FRODO Stylesheets XML Namespaces Agents Ontobroker Transformations Estruturas de documentos e esquema Horn. ML XQL Rules de dados XML Queries RFML RDF XML-QL SHOE Linguagens de consultas Frames RDF[S] Acquisition para XML e RDF XOL Máquinas de inferência Protégé para XML e RDF
Infra-estrutura em camadas da W 3 C para web semântica
XML: padrão versátil de codificação de informação · e. Xtensible Markup Language · Inicialmente Linguagem de codificação de documentos web Ø Simples alternativa para o HTML: Ø permitindo usuário definir suas próprias tags ü separando tags marcando conteúdo de tags especificando apresentação ü Ø Versão aumentada para web de um sub-conjunto de SGML · Atualmente Padrão universal para representação, integração e transmissão de documentos, dados, informação, conhecimento e software ! Ø Versatilidade total, invadiu a computação inteira Ø
XML é texto: constituintes de um documento XML · Sintaxe básica Ø Prólogo: cabeçalho do documento ü Declaração XML } ü Exemplo: <? xml version=“ 1. 0”? > Comentários } Exemplo: <!--Comentário--> Informações sobre esquemas (DTDs ou XMLS, opcional) ü Informações sobre apresentação (opcional) ü } Ø Exemplo: <? Xml-stylesheet type=“text/CSS” href=“modelo. css” ? > Conteúdo: árvore de elementos Elemento raiz: único ü Demais Elementos: representam os nós da árvore ü Exemplo: <exemplo> e </exemplo> ü Ø Atributos ü Interno ao tags, conjunto não ordenado
XML é texto e é árvore: exemplo de documento <Cliente> <Nome> Luciano </Nome> <Endereço> <Rua> Agamenon </Rua> <Bairro> Centro </Bairro> <Cep> 12345 -000 </Cep> <Estado> PE </Estado> </Endereço> <Mail> lab@cin. ufpe. br </Mail> </Cliente> Cliente Nome Mail Endereço lab@cin. ufpe. br Luciano Rua Bairro Cep Agamenon Centro 12345 -000 Estado PE
XML: elementos ou atributos? <Cliente Nome = Luciano, Mail = lab@cin. ufpe. br> <Endereço Rua = Agamenon, Bairro = Centro, Cep = 12345 -000, Estado = PE> </Endereco> </Cliente> Cliente Nome Mail Luciano lab@cin. ufpe. br Endereço Rua Bairro Cep Estado Agamenon Centro 12345 -000 PE
As dualidades de XML 1. codificação para usuários humanos ou para software de processamento? 2. codificação de documentos ou de dados? 3. codificação de dados ou de meta-dados? 4. codificação para interoperabilidade ou para desenvolvimento de aplicações? 5. codificação para comunicação ou para armazenamento?
Padrões e tecnologias baseadas em XML · XML namespace: distrbuição na web · DTD e XML schema: especificação de esquema de dados e validação de documentos segundo especificação · XHTML: HTML em sintaxe XML · CSS: provê informações de apresentação dos dados · XSLT: gramáticas de transformação para XML · XSL-FO: bibliotecas de objetos para layout gráficos · XPath: caminhos em documentos XML como árvores · Xpointer: referências a fragmentos de documentos · Xlink: laço web entre documentos e fragmentos XML · Sax e DOM: definem interfaces para ler e manipular documentos XML
Onipresença atual de XML · XML e sistemas distribuídos WWW – Web Server Ø Intranets – gerenciamento de conhecimento Ø Middleware – protocolo de comunicação Ø · XML e inteligência artificial Ontologias Ø Comunicação entres agentes Ø · XML e bancos de dados: Integração de dados Ø Data warehousing Ø Sistemas de informação heterogêneos Ø
XML: should I believe the hype? · Pontos fortes de XML Ø Ø Ø Ø Formato estruturado Tecnologia disponível e barata Flexibilidade Padrão aberto Human-readable e machinereadable Dados separado de apresentação Grande base de usuários e software reutilizáveis · Pontos fracos de XML Ocupa muito espaço Ø Especificações não estão completas Ø Não otimizado para nada (já que pretende resolver tudo ) Ø
XML namespaces (XMLNS): definição e motivação · Motivação Identificar unicamente os elementos (recursos) Ø Reuso dos elementos Ø Semelhantes a pacotes de linguagens de programação Ø · Definição Coleção de nomes, identificado por uma referência URI Ø Seu escopo vai além do conteúdo de um documento Ø Declaração: xmlns=“URI” Ø
XMLNS: URI e URL · URI (Unified Resource Identifier) Ø Características Identifica recursos por um nome garantidamente único ü Garantia de unicidade através de um órgão, que pode ou não estar na web, ou através de URL ü Ø Problemas ü Múltiplos URIs podem significar a mesma coisa · URL (Unified Resource Location) Subconjunto de URI Ø Além de identificar, localiza o recurso Ø
XMLNS: abreviação e default · Abreviação: alias para uma URI <h: table xmlns: h="http: //www. w 3. org/TR/html 4/"> <h: tr> <h: td>Apples</h: td> <h: td>Bananas</h: td> </h: tr> </h: table> · Default Namespaces: não é necessário prefixar os elementos filhos <table xmlns="http: //www. w 3. org/TR/html 4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>
Exemplo de documento XML usando XMLNS <? xml version=“ 1. 0”? > <book: library xmlns: book=“http: //www. library. com/spec”> <book: book> < book: title> Machine Learning </ book: title> </ book: book> </ book: library>
Tipos de documentos e esquema de dados XML · DTD Herança de SGML quando XML era só para documentos Ø Expressividade adequada apenas para documentos, insuficiente para dados e meta-dados Ø Sintaxe diferente de XML Ø · XML Schema (XMLS) Novo padrão, na visão moderna de XML para codificar qualquer coisa Ø Superar limitações de DTD Ø No entanto atualmente DTD permanecem o formalismo mais utilizado Ø
DTD: constituintes e características · Especifica a estrutura e a sintaxe do documento XML · Sintaxe: <!DOCTYPE elemento-raiz [declaração-dos-elementos]> <!ELEMENT nome-do-elemento tipo-do-elemento> <!ATTLIST nome-do-elemento nome-atrib tipo-atrib valordefault>
DTD: exemplo · Exemplo de DTD <!DOCTYPE Book [ <!ELEMENT Book (Book*)> <!ELEMENT Book (Title, Author)> <!ELEMENT Title (#PCDATA)> <!ELEMENT Author (#PCDATA)> ]> · Exemplo de documento válido <book> <Title> Machine Learning </Title> <Author> Tom M. Mitchell </Author> </book>
DTD: limitações · Não usa sintaxe XML · Qualquer caracter é permitido · Nenhum suporte para Namespaces · Limitado suporte para reusabilidade e modularidade · Nenhum suporte para evolução do esquema, extensão ou herança de declarações · Valor default para atributos e não para elementos · Limitada capacidade para especificar tipos Intervalos Ø Suporta 10 tipos de dados Ø
XML Schema (XMLS): constituintes e características · Características Sintaxe em XML Ø Usa e suporta Namespaces Ø Sistema de tipo parecido com OO Ø ü Ø Ø Ø Ø Herança, tipos abstratos Modularidade: inclusão e redefinição de esquema Documentação estruturada Restrição de cardinalidade para elementos Valores nulos Atributo e elemento defaults Não especifica um elemento raiz Grande e complicado
XML Schema (XMLS): constituintes e características · Constituintes Ø Declaração de elemento: associa um elemento a um tipo ü Ø Definição de tipos complexos ü Ø Exemplo: <element name=“Title” type=“xsd: string”/> Exemplo: <complex. Type name=“book”> Definição de tipos simples ü Exemplo: <simple. Type name=“book”>
XMLS: exemplo · Exemplo de XMLS · Exemplo de documento válido <? xml version=“ 1. 0”? > <xsd: schema xmlns: xsd=“http: //www. w 3. org/2001/ XMLSChema” xmlns=“http: //www. books. org” target. Namespace=“http: //www. books. org”> <xsd: elment name=“book”> <xsd: complex. Type> <xsd: sequence> <xsd: element ref= “Title” min. Occurs=“ 1” max. Occurs=“ 1”/> <xsd: element ref= “Author” min. Occurs=“ 1” max. Occurs=“ 1”/> </xsd: sequence> </xsd: complex. Type> </xsd: element> <xsd: element name=“Title” type=“xsd: string”/> <xsd: element name=“Author” type=“xsd: string”/> </xsd: schema> <? xml version=“ 1. 0”? > <book xmlns=“http: //www. books. org” xmlns: xsi=“http: //www. w 3. org/2001/ XMLSChema-instance” xsi: schema. Location=“http: //www. books. org book. xsd”> <book> <Title> Machine Learning </Title> <Author> Tom M. Mitchell </Author> </book>
Processamento de XML · Verificação: bem formado independentemente do conjunto de tags utilizado, de DTD ou de XMLS · Validação: verifica conformidade ao conjunto de tags e suas retrições de ordenamento e aninhamento especificado em uma DTD ou XMLS · Parsing: gerar árvore a partir do texto · Transformação: XSLT regras de reescrituras baseadas no casamento de padrão com documento de entrada e copiando e reestruturando material que casou em um documento de saída · Consultas: enxergando documentos XML como BD, recuperar documentos, elementos, atributos etc. Ex. : XQuery, XSLT, · Armazenamento persistente: SGBD nativo XML usando árvores no lugar de tabela como modelo físico e XMLS como modelo lógico, API de transformação de XML de e para modelos de dados relacionais e O-R · Raciocínio automático: Lo. Pi. X, máquina de inferência aceitando XML com variáveis lógica na conclusão e premissas das suas regras
Ontologia acadêmica abaixo da ontologia geral do AIMA em XMLS
Exemplo de ontologia em XMLS <complex. Type name=“Person”> <sequence> <element name=“name” type=“string”/> <element name=“address” type=“string”/> <element name=“email” type=“string”/> <element name=“publication” type=“Publication” min. Occurs=“ 0” max. Occurs=“unbounded”/> </sequence> </complex. Type> <complex. Type name=“Employee”> <complex. Content> <extension base=“Person”> <element name=“affiliation” type=“Organization”/> </complex. Content> </complex. Type>
Exemplo de ontologia em XMLS <complex. Type name=“Student”> <complex. Content> <extension base=“Person”> <element name=“studies. At” type=“University”/> </complex. Content> </complex. Type> <complex. Type name=“Ph. DStudent”> <complex. Content> <extension base=“Student”> <extension base=“Researcher”> <element name=“supervisor” type=“Academic. Staff”/> </complex. Content> </complex. Type>
RDF: definição e motivação · Limitações de XML Schema para representação de: Estabelece ordem de elementos (não natural para metadados) Ø Problema de escalabilidade: manter a ordem de dados Ø Estrutura de árvore força ordem nos elementos, o que limita versatilidade de uso para um determinado conhecimento ou meta-dado Ø · Resource Definition Framework Modelo para descrever recursos Ø Usa XML como sintaxe Ø Baseado em um modelo de grafo no lugar de árvore Ø Melhora a descoberta, o acesso e o gerenciamento das informações da Web Ø
RDF é texto: constituintes de uma descrição RDF · Formas de representação Ø Tripla: Sujeito: recurso ü Objeto: outro recurso ü Predicado: relação que associa vários recursos ü Ø Como grafo: Sujeitos são nós ü Objetos também são nós ou literais (átomos) ü Predicados são os arcos que ligam os nós ü · Recursos são unicamente identificados por URI
RDF é texto: exemplo [Sujeito = <http: //www. cin. ufpe. br/~lab>, Predicado =<http: //gosta. exemplo. org/termo/gosta>, Objeto = http: //www. cmu. edu/Mitchell/Machine_Learning ] http: //www. cin. ufpe. br/~lab http: //gosta. exemplo. org/termo/gosta http: //www. cmu. edu/Mitchell/Machine_Learning
RDF é grafo: ¼ de século depois a volta das redes semânticas · Redes semânticas Forma de representar linguagem natural Ø Formato para organizar expressões numa forma fácil de ser computada Ø · RDF é uma rede semântica para a Web
Redes Semânticas spine has heart vertebrate isa hair mammal walk can bird isa canary freddie wings fly isa yellow doesn’t fly ostrich hugo
RDF em XML · Texto tripla: · XML [Sujeito=<http: //uri-of-document>, Predicado=<dc: Creator>, Objeto=<Creator_001>] [Sujeito=<Creator_001>, Predicado=<card: name>, Objeto=<Jonh Smith>] [Sujeito=<Creator_001>, Predicado=<card: email>, Objeto=<smith@home. com>] <rdf: rdf> <rdf: Description rdf: href=“http: //uri-ofdocument”> <dc: Creator rdf: href=“#Creator_001”/> </rdf: Description> <rdf: Description rdf: ID=“Creator_001”> <card: name> Jonh Smith </card: name> <card: email> smith@home. com </card: email> </rdf: Description> </rdf: rdf>
RDF em XML: Grafo dc: Creator http: //uri-of-document Creator_001 card: name “John Smith” card: email “smith@home. com”
RDF em XML: Árvore rdf: Description rdf: ID card: name Creator_001 card: email rdf: href http: //uri-of-Document dc: Creator rdf: href #Creator_001 “John Smith” “smith@home. com”
RDF e XMLNS <? xml version=“ 1. 0” ? > <rdf: RDF xmlns: rdf=“http: //www. w 3. org/1999/02/22 -rdf-syntaxns#” Namespace para as especificações RDF Namespace para uma especificação xmlns: dc=“http: //purl. org/DC/”> customizada <rdf: Description about=“http: //rama. cpe. fr/index. html”> <dc: Creator rdf: resource=“mailto: am@cpe. fr”/> </rdf: Description> </rdf: RDF> Predicado Objeto Sujeito
RDF Schema (RDFS): definição e motivação · Provê um sistema de tipo básico · Provê mapeamento entre recursos e propriedades · Permite a construção de estruturas hierárquicas · Mesma sintaxe que RDF · Interoperabilidade de metadados de diferentes comunidades · Permite codificar, trocar e reusar estrutura de metadados
RDFS: constituintes de um esquema de descrições · Classes básicas rdfs: Resource : todas as coisas descritas são recursos (Objeto) Ø rdfs: Property: propriedades Ø rdfs: Class : similar à noção de classe em OO Ø · Propriedades Básicas rdf: type: indica que um recurso é membro de uma classe Ø rdfs: sub. Class. Of: similar à noção de subclasse em OO Ø rdfs: sub. Property. Of: indica que uma propriedade é especialização de outra Ø
RDFS em XML: exemplo · Exemplo de RDFS · Exemplo de descrição RDF <? xml version=“ 1. 0” ? > < rdf xmlns: rdf = “http: //w 3. org/TR/Pr- <rdf: RDF rdf-syntax#” xmlns: rdf=“http: //www. w 3. org/1999/0 xmlns: rdfs=“http: //w 3. org/TR/WD 2/22 -rdf-syntax-ns#”> rdf-schema#” > xmlns: dc=“http: //purl. org/DC/”> <rdf: Description ID = “Title”> <type resource = "http: //w 3. org/TR/PR- <rdf: Description rdf-syntax#Property" /> about=“http: //dstc. com. au/report. htm”> <rdfs: label> Title </RDFS: label> <dc: Creator </rdf: Description> rdf: resource=“mailto: am@cpe. fr”/> <rdf: Description ID = "Creator" > <dc: Title = “Report” /> < rdf: type resource = </rdf: Description> "http: //w 3. org/TR/PR-rdf</rdf: RDF> syntax#Property" /> <rdfs: label> Author or Creator </rdfds: label> </rdf: Description> </rdf>
Ontologia acadêmica abaixo da ontologia geral do AIMA em RDFS
Exemplo de ontologia em RDFS: versão triplos · [Sujeito=Person, Predicado=sub. Class. Of, Objeto= · Resource] · [Sujeito=Employee, Predicado=sub. Class. Of, Objeto=Person] · [Sujeito=Student, Predicado=sub. Class. Of, Objeto=Person] · [Sujeito=Ph. DStudent, Predicado=sub. Class. Of, Objeto=Student] · [Sujeito= Ph. DStudent, Predicado=sub. Class. Of, Objeto=Researcher] · [Sujeito=Person, Predicado=type, Objeto=Class] · [Sujeito=Employee, Predicado=type, Objeto=Class] · [Sujeito=Student, Predicado=type, Objeto=Class] · [Sujeito=Ph. DStudent, Predicado=type, Objeto=Class] · [Sujeito=Researcher, Predicado=type, Objeto=Class]
Exemplo de ontologia em RDFS: versão grafo s = rdfs: sub. Class. Of t = rdf: type rdfs: Resource t s rdfs: Class t Person s t s Employee t t t Student s s Researcher Ph. DStudent
Exemplo de ontologia em RDFS: versão XML <rdf: RDF xml: lang="en" xmlns: rdf=http: //www. w 3. org/1999/02/22 -rdf-syntax-ns# RDF Schema Namespace xmlns: rdfs="http: //www. w 3. org/2000/01/rdf-schema#"> <rdf: Description ID=“Person"> <rdf: type resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="http: //www. w 3. org/2000/01/rdf-schema#Resource"/> </rdf: Description> Um atributo “ID” define um novo <rdf: Description ID=“Employee"> recurso <rdf: type resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> Person herda de Employee <rdfs: sub. Class. Of rdf: resource="#Person"/> </rdf: Description> <rdf: Description ID=“Student"> <rdf: type resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> <rdfs: sub. Class. Of rdf: resource="#Person"/> </rdf: Description> <rdf: Description ID=“Ph. DStudent"> <rdf: type resource="http: //www. w 3. org/2000/01/rdf-schema#Class"/> Herança múltipla <rdfs: sub. Class. Of rdf: resource="#Student"/> <rdfs: sub. Class. Of rdf: resource="#Researcher"/> </rdf: Description> </rdf: RDF>
XQuery: linguagem de consulta para BD XML · Baseada na sintaxe XML · Derivada de uma linguagem de consulta XML chamada Quilt · Projetada para ser pequena · Consultas são concisas e de fácil compreensão · Pode ser usada em qualquer fonte de dados em XML · Linguagem fortemente tipada · Sistema de tipo baseado em XML Schema
Exemplo de uso de XQuery para consultar ontologia em XML(S) · XML - artists. xml <artists> <artist> <name> Cash </name> <album live=“no”> <name> Live and on the Air </name> <year> 1997 </year> </artist> <name> Denver </name> <album live=“yes”> <name> Denver </name> <year> 1979 </year> </artists> · consulta: document(“artists. xml”)/artists/ artist/album[year=“ 1997”] · Resultado da consulta <album live=“no”> <name> Live and on the Air </name> <year> 1997 </year> <album>
RDQL: linguagem de consulta para BD RDF · Implementação de um linguagem de consulta SQL para RDF · Linguagem derivada do Squish. QL · Trata RDF como dados · Provê uma forma de escrever expressões mais declarativas, para que um sistema a utilize
Exemplo de uso de RDQL para consultar ontologia em RDF(S) · Exemplo 1: Recuperar o valor de uma dada propriedade de um dado recurso SELECT ? x WHERE (<http: //somewhere/res 1>, <http: //somewhere/pred 1>, ? x) · Exemplo 2: Restrições SELECT ? a, ? b WHERE (? a, <http: //somewhere/pred 1>, ? b) AND ? b < 5
TRIPLE: uma máquina de inferência dedutiva para RDF(S) · Linguagem de consulta, inferência e transformação para RDF · Permite a manipulação de RDF sobre semânticas diferentes · Interessante para integração de dados
Exemplo de regras dedutiva TRIPLE completando ontologia em RDF(S) // RDFS cars example @cars { // xyz : = "http: //www. w 3. org/2000/03/example/vehicles#". xyz: Motor. Vehicle[rdfs: sub. Class. Of -> rdfs: Resource]. xyz: Passenger. Vehicle[rdfs: sub. Class. Of -> xyz: Motor. Vehicle]. xyz: Truck[rdfs: sub. Class. Of -> xyz: Motor. Vehicle]. xyz: Van[rdfs: sub. Class. Of -> xyz: Motor. Vehicle]. xyz: Mini. Van[ rdfs: sub. Class. Of -> xyz: Van; rdfs: sub. Class. Of -> xyz: Passenger. Vehicle]. } // query FORALL X, Y <- X[rdfs: sub. Class. Of->Y]@rdfschema(cars).
Recapitulação · Infra-estrutura da W 3 C para web semântica: Ø Ø Ø URI fornece a forma de identificar unicamente os elementos XML fornece a sintaxe básica XML Namespace provê uma forma de disponibilizar para a Web Apesar de XMLS ser uma melhoria em relação à DTD ainda possui restrições de expressibilidade RDF: rede semântica para Web RDF Schema: uso de ontologias
- Taller de esi para padres
- 10 deberes de los padres para con los hijos
- Junta informativa para padres de familia
- Agenda para una reunion de padres de familia
- Taller manejo de emociones para padres
- Talleres para padres con hijos discapacitados
- Encuesta de satisfacción para padres y apoderados
- Las imágenes de
- Escuela para padres cp
- Edipo rey maldicion
- Escuela para padres cp
- Imagen de escuela para padres
- Padres.unidad ejecutiva
- Padres.unidadejecutiva.ml
- Padres democraticos
- Reunion de padres nota
- Donde crecio moises pero que sabia de sus padres
- Como se llama la hija pequeña de los simpson
- Ricardo montaner padres argentinos
- El fracaso es huerfano
- La tercera
- Imagenes de hijos que abandonan a sus padres
- Nuestro padre en el cielo
- El hijo de mi hermana es mi ____
- La nueva generación de padres de familia
- Mirador xxi padres
- Efesios 6,1
- Cuida a tus padres en su vejez biblia
- Tareas de los padres
- Que esperamos los padres de nuestros hijos
- Que es aseverar
- Entrevista a padres de familia, maestros y alumnos
- Padres de familia y estudiantes
- Ayudar a los padres
- Si vosotros siendo malos padres
- Escuela de padres cp
- Aprendemos a ser hijos cuando somos padres
- Escuela de padres cp
- Los padres son como puertos
- Ayuda con los deberes
- Ayudar a los padres
- Extranety
- Los padres de william shakespeare
- Imagenes de los derechos de los padres
- Escuela de padres cp
- Derechos y obligaciones de los niños
- Bendito seas señor dios de nuestros padres
- Hijitos obedeced a vuestros padres
- Escuela de padres
- Adolescentes que agreden a sus padres