Prof. Daniela Barreiro Claro



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

Web de hoje (2.0) Porquê WEB 2.0?

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Prof. Daniela Barreiro Claro

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

D2R EDITOR: HABILITANDO A PUBLICAÇÃO AUTOMÁTICA DE ANOTAÇÕES SEMÂNTICAS DE SITES DINÂMICOS

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

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

Este relatório tem por objetivo, abordar a sintaxe XML.

L A C Laboratory for Advanced Collaboration

Semântica para Sharepoint. Busca semântica utilizando ontologias

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

Padrões, Ferramentas e Boas Práticas no Desenvolvimento de Software para Web Semântica

Prof. Daniela Barreiro Claro

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

Semântica na Web RDF. Carlos Bazilio. Depto de Computação Instituto de Ciência e Tecnologia Universidade Federal Fluminense

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

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

XML extensible Markup Language. Prof. Fellipe Aleixo

Processamento de dados XML

XML (extensible Markup Language)

UFG - Instituto de Informática

O padrão RDF na descrição de imagens

UNIVERSIDADE. Sistemas Distribuídos

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

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

RDF e RDF Schema na representação de páginas do portal CEULP/ULBRA

Programação Web Prof. Wladimir

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Sistemas para internet e software livre

18/04/2006 Micropagamento F2b Web Services Web rev 00

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Manual do Usuário - ProJuris Web - Fila de s Página 1 de 8

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

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

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Prof.: Clayton Maciel Costa

Tutorial. Introdução ao XML e tecnologias associadas. Aplicações e dialectos XML. Sessão Fevereiro XATA 06

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Persistência e Banco de Dados em Jogos Digitais

PROJETO DE REDES

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Programando em PHP. Conceitos Básicos

dados abertos cartilha para desenvolvedores

Comandos de Manipulação

Banco de Dados I. Introdução. Fabricio Breve

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

XML Schema. Vanessa de Paula Braganholo ftp://metropole/pub/curso/xml/index.html. Janeiro de XML Schema

Web Semântica e PLN. Paulo Gomes DEI FCTUC

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

Agregadores de Conteúdo

Armazienamento de Dados

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

SISTEMA GERENCIADOR DE BANCO DE DADOS

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

EMML Enterprise Mashup Markup Language. Jesús Martín Talavera Portocarrero

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

RDF (Resource Description Framework) RDFS (Resource Description Framework Schema)

Desenvolvendo Websites com PHP

Web Semântica. Web Semântica. uma

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

Parte I. Demoiselle Mail

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

XPath e XSLT. Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )

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

MC536 Bancos de Dados: Teoria e Prática

Uso de taxonomias na gestão de conteúdo de portais corporativos.

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

2 Geração Dinâmica de Conteúdo e Templates de Composição

Informática I. Aula 6. Aula 6-12/09/2007 1

Orientação a Objetos

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

O que são Bancos de Dados?

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

Disciplina: Tecnologias de Banco de Dados para SI s

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

Roteiro para Transmissão Ambiente de Testes da Guias Online

Arquitetura de Banco de Dados

Introdução ao PHP. Prof. Késsia Marchi

Protótipo de sistema de consultas utilizando a linguagem SPARQL

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Aula 1: Noção Básica e Criação de Tabelas.

Transcrição:

Definição schemaless or self-describing terms that indicate that there is no separate description of type or structure of the data (Abiteboul S. et al., 1999) Dados que apresentam uma representação estrutural heterogênea Não são nem completamente não-estruurados e nem completamente tipados As instancias podem existir mesmo no caso de mudança nos esquemas O esquema também pode ser definido a posteriori, ou seja, depois que as instancias já existirem 2

Os esquemas de representação está presente (de forma explícita ou implícita) juntamente com o dado Auto-descritivo Uma análise do dado pode ser feita para que sua estrutura possa ser identificada e extraída Vantagem the ability to accommodate variations in structure (Abiteboul S. et al., 2000) Campos podem ser duplicados, dados podem estar faltando 3

Principais características (Abiteboul S., 1997) Definição a posteriori : esquemas são geralmente definidos após a existência dos dados Estrutura irregular: não existe um esquema padrão para estes tipos de dados; coleções de dados similares são organizadas de maneira diferente Estrutura implícita: uma estrutura é implicita na forma como os dados são armazenados Estrutura parcial: apenas parte dos dados disponíveis pode ter alguma estrutura; nem sempre todas as informações esperadas estão presentes Estrutura extensa: como os dados são heterogeneos, não há uma estrutura definida, uma união destes dados é muito custosa. 4

Dados Estruturados Esquema pré-definido Estrutura regular Estrutura independente dos dados Estrutura reduzida Fracamente evolutiva Prescritiva (esquemas fechados e restrições de integridade) Distinção entre estrutura e dados é clara Dados SemiEstruturados Nem sempre há um esquema Estrutura irregular Estrutura embutida nos dados Estrutura extensa (particularidades de cada dado, visto que cada um pode ter uma organização própria) Fortemente evolutiva (estrutura modifica-se com frequencia) Estrutura descritiva Distinção entre estrutura e dados não é clara 5

Sint et al, Combining Unstructured, Fully Structured and Semi-Structured Information in Semantic Wikis. SemWiki 2009 6

Um exemplo típico de dado semi-estruturado é o XML extensible Markup Language Linguagem de representação dos dados e de integração na Web XML Schema define a estrutura de um documento XML No domínio da Web Semântica, o conhecimento é representado através da RDF Resource Definition Framework RDF Schema (RDFS) define a estrutura de um documento em RDF Na WWW, a RDF é a usada como linguagem que descreve os metadados dos recursos Web 7

Antigamente... Empresa 1 Empresa 2 Confirmação do Recebimento 8

Nos dias de hoje... Empresa 1 Empresa 2 Internet 9

Camada Cliente Camada Negócio Camada de Dados Browser HTTP HTTP XML Servidor Web JDBC XML XML XML HTML, JavaScript JSP, PHP, Servlets, XML,... Banco de Dados 10

XML (extensible Markup Language Representar dados que inclui uma marcação Marcação no formato de TAGS 1 a linguagem de marcação GML (Generalized Markup Language) em 1969 Em 1974, a SGML foi criada HTML é um subconjunto da SGML Destinado à hiperlinks Mistura o conteúdo, a apresentação e o processo 11

XML Tb é um subconjunto (muitos dizem que é uma configuração) Estimula separar Conteúdo: como tipos de elementos abstratos Apresentação: objetos de formatação Processos: como folhas de estilos XML isola o conteúdo da apresentação Projetada para ser distribuída pela Web 12

Estrutura Construção fundamental de um documento XML ELEMENTO identificado por uma tag de início e tag de fim <artigos> xxxx </artigos> Elemento pode conter outros elementos Elemento complexos são construídos hierarquicamente a partir de outros elementos Elementos simples contém valores de dados XML x HTML Em XML os nomes das tags são definidas de acordo com o significado do elemento Ao invés de descrever como no HTML como o texto será exibido 13

Contém somente um elemento raiz Exemplo no formato de um grafo publicacao artigo artigo titulo autor cidade tipo Dependable Web Services Daniela e Macêdo Rio de Janeiro Full Paper 14

Além dos elementos, a XML especifica os ATRIBUTOS Um atributo de um elemento só pode aparecer uma vez em determinada tag. Acrescentar o atributo relevante= sim/nao para artigo informando se é um dos artigos mais relevantes das suas publicações 15 Q

Vantagens A presença das tags torna a mensagem autodocumentável Um esquema não precisa ser consultado para se entender o significado do texto schemeless Formato do documento não é rígido Se uma tag for acrescentada, o destinatário pode ignorar a nova tag 16

Vantagens Permite estruturas aninhadas <ordemcompra... <comprador... <item... Ferramentas disponíveis Grande variedade para auxiliar o processamento da XML Isso corresponde a múltiplas tabelas em um esquema relacional Pessoas exibem as informações da maneira que desejarem HTML, PDF, DOC etc. 17

Documento XML deve ser bem formado e válido. XML é bem formado se começar com uma declaração XML indicando a versão do documento seguir as diretrizes do modelo de árvore: um único elemento raiz Cada elemento precisa incluir um par de tags Um documento XML bem formado é sintaticamente correto 18

XML é válido se ele é bem formado elementos seguem a estrutura especificada em um esquema: DTD ou XML Schema DTD ou XML Schema são documentos opcionais de um XML Principal objetivo Restringir as informações e os tipos de informações presentes no documento 19

DTD não restringe os tipos no sentido dos tipos básicos Exemplo inteiro e string Restringe o surgimento de subelementos e atributos dentro de um elemento A ausência de uma declaração de um elemento é equivalente a declará-lo como ANY Qualquer elemento pode ocorrer como subelemento do elemento. 20 Q

Os atributos também são especificados no DTD O tipo CDATA especifica que o atributo contém dados de caracter Já o atributo do tipo ID oferece um identificador exclusivo para o elemento Não pode ocorrer em nenhum outro elemento no mesmo documento 21 Q

Embora bastante útil para especificar estrutura de árvore, tem várias limitações Não se pode restringir elementos positivos e negativos Possui sua própria sintaxe especial Requer processadores especializados Seria vantajoso validar um XML utilizando a própria sintaxe XML Os mesmos processadores da XML poderiam ser utilizado para as regras de sintaxe. 22

É um padrão para especificar a estrutura de documentos XML Utiliza as mesmas sintaxes de documentos XML Define uma série de tipos internos como string, integer, decimal, date, boolean. Permite tipos definidos por usuários As definições de esquema em XML Schema são especificadas utilizando a sintaxe XML Para diferenciar é necessário utilizar namespaces 23 Q

Chaves e referências de chaves Correspondem às definições de chaves primárias e chaves estrangeiras SELECTOR É uma expressão de caminho que define o escopo para a restrição FIELD Determina os elementos ou atributos que formam a chave 24 Q

Exemplo de XML Schemas <?xml version="1.0" encoding="utf-8"?> <Biblioteca xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="c:\fontes\biblioteca.xsd"> <Livro> <Autor>Daniela Barreiro Claro</Autor> <Titulo>Livro B</Titulo> </Livro> <Livro> <Autor> Raimundo Macêdo</Autor> <Titulo>Livro A</Titulo> </Livro> </Biblioteca> 25

<?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/xmlschema" elementformdefault="qualified" attributeformdefault="unqualified"> <xs:element name="livro" type="livrotype"/> <xs:complextype name="livrotype"> <xs:sequence minoccurs="2" maxoccurs="5"> <xs:element name="autor" type="autortype"/> <xs:element name="titulo" type="titulotype"/> </xs:sequence> </xs:complextype> <xs:simpletype name="autortype"> <xs:restriction base="xs:string"> <xs:maxlength value="30"/> </xs:restriction> </xs:simpletype> <xs:simpletype name="titulotype"> <xs:restriction base="xs:string"> <xs:minlength value="3"/> <xs:maxlength value="50"/> </xs:restriction> </xs:simpletype> </xs:schema> 26

Vantagens Permite que os valores dos elementos sejam restritos a tipos específicos: numéricos, string Permite criar tipos definidos pelo usuário Restrições de exclusividade e chave estrangeira Permite criar valores mínimos e máximos Já temos o documento e os tipos, mas como consultá-lo? 27

Ferramentas de consultas são essenciais Principalmente quando são grandes XML Saída de uma relação é uma relação Saída de um XML é um XML Várias linguagens XPATH expressões de caminho XQUERY padrão para consultar dados XML 28

Endereça partes de um documento por expressões de caminho É uma sequência de etapas separada por / /publicacao/artigo/titulo Retorna todas as tags dos títulos dos artigos do LaSiD Atributos pode ser acessados usando o simbolo @ /publicacao/artigo/@relevante 29

Predicados de seleção Localizados em qualquer etapa de um caminho Entre colchetes /publicacao/artigo/[ano>2006] Contador (count) Função interna doc(nome) doc(publicacao.xml)/artigo/titulo 30 Q

É a linguagem de consulta padrão da W3C Deriva de uma linguagem chamada QUILT Consultas Xquery são modeladas em 5 seções FOR= corresponde ao From; variáveis de XPATH LET=atribui resultados XPATH às variáveis WHERE=testa as tuplas unidas ORDER BY=ordena RETURN=constrói o resultado FLWOR 31 Q

Junção (JOIN) São especificadas da mesma maneira que na SQL Supondo que tivéssemos outro XML para as conferências com todas as informações da conferência E um artigo tivesse as informações da conferência onde ele foi publicado. 32 Q

Consultas Aninhadas Podem ser aninhadas na cláusula RETURN Embora não possua GROUP BY funções agregadas como SUM() e COUNT() podem ser escritas no caminho ou no RETURN ORDER BY FOR $c in /publicacao/artigo ORDER BY $c/ano RETURN <cliente> {$c/*} </cliente> 33

Exemplos de Xquery online http://demo.exist-db.org/exist/apps/demo/examples/basic/hello.html 34

XML puro... Folha de estilo Formatação do XML Normalmente fora do XML, separando a formatação do conteúdo CSS HTML (exemplo de CSS) XSL XML 35

XSL inclui um mecanismo de transformação XSLT (XSL Transformation) Transforma um documento XML em outro XML ou HTML As transformações podem atuar como uma linguagem de consulta Transformações são expressas como templates Template simples de XSL Parte de MATCH e parte SELECT Template permite a seleção de nós em uma árvore XML por uma expressão XPATH 36

Ferramentas para manipular XML Manipulação via programação Duas APIs que estão disponíveis em várias linguagens DOM Document Object Model SAX Simple API for XML 37

DOM Trata o conteúdo XML como uma árvore Cada elemento é representado como um nó (DOMNODE) API Java oferece interfaces Node, Element, Attribute Série de funções para atualizar documentos Acrescentando e excluindo filhos, definindo valores de um nó, etc PROBLEMA: coloca toda a árvore na memória. 38

Eventos de análise correspondem ao reconhecimento de parte do documento SAX É um modelo de eventos Corresponde às funções especificadas pelo usuário associadas a eventos de análise Exige mais esforço de programação que DOM Se baseia em eventos e não precisa colocar a estrutura de árvore na memória. Pode ser mais eficiente na extração de documentos grandes PROBLEMA: Análise baseada em eventos pode precisar de estruturas temporárias adicionais 39

Documento XML pronto... Armazenamento não-relacional ou relacional Armazenamento não-relacional Arquivo simples no Servidor Web Banco de Dados XML Nativo dbxml, excelon e TAMINO Precisam de um Servidor Web 40

Armazenamento relacional (BD bastante difundido) Uma STRING Para documentos pequenos Para documentos grandes, transformar cada elemento em uma relação ELEMENTO_ARTIGO Representação de Árvore Modelados como uma árvore e armazenados como um par de relações no(id,tipo,rotulo,valor) filho(id_filho,id_pai) Cada elemento é desmembrado em muitas partes 41

Armazenamento Relacional Publicando e Fragmentando Dados XML Um doc XML é fragmentado para o formato das relações e depois é convertido e publicado como XML BD como o Oracle já permite que este processo seja automático Armazenamento nativo do XML em BDR Como string ou representações binárias, sem converter para o formato relacional Tipo de dado XML Tipos CLOB e BLOB podem ser utilizados 42

Oracle XML como um tipo de dado nativo Armazenamento de um XML Converte automaticamente resultado de uma consulta SQL para XML IBM DB2 Rico em funções XML Tem suporte para o SQL/XML Extensão ao padrão SQL XML como grandes objetos ou como atributos fragmentados em tabelas SQL Server Também possui o tipo de dados XML nativo 43 Q

Várias são as aplicações da XML Estruturas complexas como arquivos de configuração Formato padronizado para troca de dados EDI XML para a troca de informações interempresas Utilização em aplicações científicas, ex. Produtos químicos Produtos químicos similares com fórmulas distintas não são contemplados pela XML Ontologias 44 E

Web services Aplicações trocam dados entre organizações Sites podem ser preenchidos......mas aplicações precisam enviar e receber estes dados SOAP e WSDL utilizam XML XML é essencial 45 E

<?xml version= 1.0 encoding= UTF-8 > <Biblioteca> <Livro> <Titulo> SQL 3 The Foundation </Titulo> <Autor> James Fortier </Autor> </Livro> <Livro> <Titulo> CORBA - Fundamentals </Titulo> <Autor> Jonh Currier </Autor> </Livro> </Biblioteca> Versão do XML usado no documento Elemento raiz do XML Nodos internos 46

Dado o modelo abaixo transformar em XML mes titulo ano Artigos (1,n) (1,n) Autor (1,n) url localização (1,1) Tipo Obs.: Coloquem os dados respectivamente de 2 instancias 47

<?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet href="papers.xsl" type="text/xsl"?> <publication> <article> <title>online Schedulability Tests for Real-Time Systems</title> <author>george Lima and Ana Carolina Sokolonski and Eduardo Camponogara</author> <proceedings>x Workshop de Tempo Real e Sistemas Embarcados</proceedings> <location>rio de Janeiro</location> <month>05</month> <year>2008</year> <urlabstract>http://www.lasid.ufba.br/publicacoes/artigos/schdtests-wtr08.pdf</urlabstract> <type>full Paper</type> </article> <article> <title>detectores Perfeitos em Sistemas Distribuídos Não Síncronos</title> <author>raimundo Macêdo and Sérgio Gorender</author> <proceedings>ix Workshop de Teste e Tolerância a Falhas (WTF 2008)</proceedings> <location>rio de Janeiro, Brasil</location> <month>05</month> <year>2008</year> <urlabstract>http://www.lasid.ufba.br/publicacoes/artigos/xxx.pdf</urlabstract> <type>full Paper</type> </article> </publication> 48

Pouca expressividade em relação aos dados Não preve muitos relacionamentos entre os dados Descreve os dados; não o conhecimento Nenhuma expressividade semântica Não permite nenhum tipo de infêrencia Muito restrito aos dados 49

Fonte: Berners-Lee T., Hendler J. et al.the Semantic Web. Scientific Ameriican, May, 2001. 50

Unicode e URI (Ribeiro, 2008) Fornece interoperabilidade em relação à codificação de caracteres e ao endereçamento e nomeação de recursos da Web Semântica. Unicode é um padrão de codificação para fornecer uma representação numérica universal e sem ambiguidade para cada caractere de maneira independente da plataforma de software e do idioma. O URI é um padrão para identificar um recurso físico ou abstrato de maneira única e global. Um identificador URL é um caso específico de URI, 51

XML + NS + XML Schema (Ribeiro, 2008) fornece a interoperabilidade em relação à sintaxe de descrição de recursos da Web XML é uma linguagem para representação sintática de recursos de maneira independente de plataforma A linguagem XMLSchema fornece elementos para descrever a estrutura e restringir o conteúdo de documentos XML. Namespaces fornecem um método para qualificar os nomes de elementos e atributos, utilizados nos documentos XML, através da associação destes nomes identificados por referências de URI. Distingue dois elementos definidos com um mesmo nome que pertencem a esquemas diferentes 52

RDF + RDF Schema (Ribeiro, 2008) É um framework para representar informação (metadados) sobre recursos. Utilizam uma sintaxe baseada em XML RDF-Schema é uma linguagem mínima para a representação de Ontologias simples. A linguagem RDF-Schema permite a construção de ontologias com expressividade e inferência limitadas, pois fornece um conjunto básico de elementos para a modelagem, e poucos desses elementos podem ser utilizados para inferência 53

Ontologia (Ribeiro, 2008) Fornece suporte para a evolução de vocabulários e para processar e integrar a informação existente sem problemas de indefinição ou conflito de terminologia. A linguagem RDF-Schema permite a construção de ontologias com expressividade e inferência limitadas, pois fornece um conjunto básico de elementos para a modelagem, e poucos desses elementos podem ser utilizados para inferência OWL estende o vocabulário da RDF Schema para a inclusão de elementos com maior poder com relação a expressividade e inferência. OWL lite, OWL DL e OWL Full 54

Lógica (Ribeiro, 2008) descrição de regras para expressar relações sobre os conceitos de uma ontologia, as quais não podem ser expressas com a linguagem de ontologia utilizada As linguagens Rule Markup Language (RuleML) e Semantic Web Rule Language (SWRL) são exemplos de linguagens propostas para a descrição de regras para a Web Semântica As camadas Prova e Confiança fornecem o suporte para a execução das regras, alem de avaliar a correção e a confiabilidade dessa execução. Ainda em desenvolvimento 55

Juntamente com XML é o fundamento da Web Semântica Provê mais mecanismos para desenvolver linguagens ontológicas RDF é um modelo formal interpretável por máquinas usado para descrever recursos Web Descreve recursos e relações entre estes recursos Um recurso é identificado por uma URI Recursos ainda têm propriedades associadas. http://www.casa.org/sala/#banco 56

Partes do RDF Sujeito É o nome que é responsável pela ação Janela da casa de Maria Todas as relações com janela fazem referências ao mesmo recurso http://www.casa.org/quarto/maria/#janela Predicado Indica a ação que modifica o sujeito e que se concretiza por um verbo Casa contém portas http://www.casa.org/#contém Objeto Indica o objeto modificado pelo predicado Portas http://www.casa.org/#portas 57

Notação N3 no RDF sujeito predicado objeto Linguagem natural Maria lê um livro O livro esta dentro do armário O armário é em madeira Notação N3 <#Maria><#lê><#livro> <#livro><#esta-dentro><#armário> <#armário><#é><#madeira> 58

Provê um sistema de tipos para o RDF Permite definir recursos com classes, propriedades e valores. RDF Class Permite que recursos sejam definidos como instâncias de classes e subclasses. Uma propriedade RDFS pode ser vista como um atributo da classe. 59

RDF não pode expressar equivalência entre conceitos, Daniela Claro é equivalente a Daniela Barreiro Claro Não expressa unicidade nem a cardinalidade das propriedades. Muitas vezes é importante dizer que um carro tem exatamente 4 rodas Não expressa disjunções, como João é homem e Maria é mulher, não há como expressar que João não é mulher Não pode expressar propriedades transitivas, João é amigo de Pedro, não há como expressar que Pedro é amigo de João Não há como expressar propriedade inversa, escrevo um livro e um livro é escrito por. 60

O reconhecimento destas limitações incentivaram o desenvolvimento de novas linguagens com mais expressividade Em relação a RDF e RDFS, as ontologias proveem novas propriedades que facilitam a descrição dos seus conceitos. Genericamente, as ontologias tem seus fundamentos nas taxonomias e no RDF e RDFS Em relação às taxonomias, as ontologias proveem um rico relacionamento entre os seus termos 61

http://www.w3.org/rdf/validator/ Valida e gera um gráfico do seu RDF http://www.rdfabout.com/demo/validator/ Gera em N3 <?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:si="http://www.w3schools.com/rdf/"> <rdf:description rdf:about="http://www.w3schools.com"> <si:title>w3schools.com</si:title> <si:author>jan Egil Refsnes</si:author> </rdf:description> </rdf:rdf> 62

<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdfsyntax-ns#" xmlns:cd="http://www.recshop.fake/cd#"> <rdf:description rdf:about="http://www.recshop.fake/cd/empire Burlesque" cd:artist="bob Dylan" cd:country="usa" cd:company="columbia" cd:price="10.90" cd:year="1985" /> </rdf:rdf> 63

<?xml version="1.0"?> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.animals.fake/animals#"> <rdf:description rdf:id="animal"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdfschema#class"/> </rdf:description> <rdf:description rdf:id="horse"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdfschema#class"/> <rdfs:subclassof rdf:resource="#animal"/> </rdf:description> </rdf:rdf> 64

É importante utilizar os mesmos preditados que outros já desenvolveram Isso permite que aplicaçoes também façam uso da informacao gerada, sem ter que redesenvolver, basta reconhecer a URI mencionada. Exemplos Para descrever documentos, deve-se usar os predicados definidos na Dublin Core (DC). As aplicações em RDF podem usar os predicados que desecrevem os dados Para descrever pessoas, devem ser usados os predicatos da Friend of a Friend (FOAF) 65

1.Gerar um grafo em RDF 2. Há algo a inferir? <rdf:rdf xmlns:rdf= http://www.w3.org/1999/02/22- rdf-syntax-ns# xmlns:rdfs= http://www.w3.org/2000/01/rdfschema# xmlns:u= http://www.example.org/uni# xml:base= http://www.example.org/uni > <rdfs:class rdf:id= Person /> <rdfs:class rdf:id= Student /> <rdfs:subclassof= #Person /> </rdfs:class> <rdfs:class rdf:id= Professor > <rdfs:subclassof= #Person /> </rdfs:class> <rdfs:class rdf:id= Course /> <rdf:property rdf:id= advises > <rdfs:domain rdf:resource= #Professor /> <rdfs:range rdf:resource= #Student /> <rdfs:subpropertyof= #knows > </rdf:property> <rdf:property rdf:id= takes > <rdfs:domain rdf:resource= #Student /> <rdfs:range rdf:resource= #Course /> </rdf:property> <rdf:property rdf:id= teaches > <rdfs:domain rdf:resource= #Professor /> <rdfs:range rdf:resource= #Course /> </rdf:property> <rdf:property rdf:id= knows /> <u:professor rdf:id= alan > <u:teaches rdf:resource= #cs100 /> <u:advises rdf:resource= #rob /> <u:advises rdf:resource= #sarah /> </u:professor> <u:student rdf:id= rob > <u:takes rdf:resource= #cs100 /> <u:takes rdf:resource= #cs200 /> </u:student> </rdf:rdf> 66

Utilizando FOAF, gerar um RDF com a descricao de cada aluno Verificar o site: http://www.ldodds.com/foaf/foaf-amatic.html 67