Prof. Daniela Barreiro Claro

Documentos relacionados
Prof. Daniela Barreiro Claro

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

XML - Extensible Markup Language

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

Introdução à Web Semântica

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

Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI.

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás


Série Rações Semanais Xpath e XSLT Rogério Araújo

Padrões para Definição de Metadados

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

A Web Semântica: Conceitos e Aplicações. Valéria M. Pequeno Universidade Autónoma de Lisboa

ABD Arquivos e Bibliotecas Digitais

Introdução XML. Vanessa Braganholo

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

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

Web de hoje (2.0) Porquê WEB 2.0?

Transformação de documentos XML

Notas sobre XSLT. O modo correcto para declarar um documento xsl é:

Guia de Bolso HTML e XHTML

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

#Fundamentos de uma página web

Linguagem de Programação Visual. Estrutura Basica do HTML5 Prof. Gleison Batista de Sousa

Programação Web - HTML

Comentários: Desenvolvimento de Sistemas Rogério Araújo

CONTEÚDO PROGRAMÁTICO

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

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

OWL-DL Propriedades. Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla

Roteiro 01. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Engenharia de Computação. Disciplina: Programação para WEB

XML Schema (Parte 2) Vanessa Braganholo

INE BDNC. Bancos de Dados XML

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

Identificadores Nome de variáveis, constantes, métodos, etc...

Rui Carneiro, Rui Pereira, Tiago Orfão

5a. Aula - XML

DOM (Document Object Model)

Aula 17 Introdução ao jquery

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

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Manual para Integração XML

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

JavaScript (Elementos de Programação e Programação Básica)

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

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

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

Linguagens de Domínio Específico

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

Transcrição:

Tradicionais Utilizados na Web tradicional Baseados em palavras chaves keywords Exemplos: Google, Yahoo, AltaVista, Lycos Semanticos Baseados em vocabulários 2

Funcionamento Criando uma tabela de indices (index table) Processo de indexação A qualidade desta tabela definirá a qualidade dos resultados da pesquisa realizada Processo desenvolvido por um crawler ou spider Crawler visita a Web coletando tudo o que é possível para construir a tabela de indices Início do processo com uma seed URL ou seja, uma URL semente (um conjunto de URLs) 3

Passo a passo Passo 1 Criaçao da tabela de indices para cada palavra do site A frequencia de ocorrência desta palavra no site Palavra1 Local: URL 0 Frequencia: C 1 Palavra2 Local: URL 0 Frequencia: C 2 Passo 2 Encontrar o proximo link (URL) que aponta para outro site Passo 3 Varre este segundo site, pesquisando as palavras e acrescentando na tabela 4

Passo 3 Duas possibilidades A palavra nunca foi inserida na tabela de indices Neste caso adiciona normalmente Já existe na tabela de indices Localiza a palavra e amplia a estrutura Palavra1 Local: URL 0; Frequencia: C 1 Palavra2 Local: URL 0 Frequencia: C 2 Local: URL 1 Frequencia: C 3 Palavra3 Local: URL 1 Frequencia: C 4 Passo 4 Refaz os passos 2 e 3 até esgotar as pesquisas. 5

Busca Pesquisa Palavra2 Se a palavra2 não existir no indice, retorna que nenhuma resultado foi encontrado Caso contrario, retorna as URLs encontradas para as palavras Ordem de apresentação dos resultados Rank Pode ser pela frequencia das palavras Onde as palavras podem aparecer Titulo, topo da pagina, nos links, nos metadatas Busca na tabela Em largura ou em profundidade 6

Acrescentar o significado das palavras na busca Passo 1 Construir um vocabulario comum que contém os significados Exemplo: Classificação dos vertebrados Exemplo 2: Fotografia 7

isequivalentto hasproperty isa Camera SingleLens Reflex Digital Film SLR Point-and-Shoot SLR- Camera ShutterSpeed Aperture 8

Passo 2 Marcar os sites (Markup) Adicionar dados extras ou informação que contenha caracteristicas relevantes Pode-se adicionar algum METADATA <HTML> <HEAD> <TITLE> Digital Camera </TITLE> <LINK rel= help href= URLdoVocabulario /> </HEAD> </HTML> 9

Passo 3 Crawler inteligente Caso nenhuma marcação semantica tenha sido encontrada Palavra1 Local: URL 0; Frequencia: C 1 Markup: None Palavra2 Local: URL 0; Frequencia: C 2 Markup: None 10

Passo 3 Crawler inteligente Marcação semantica encontrada Processa a URL de marcação semântica encontrada Motor de inferência é utilizado Pesquisa por aperture e shutter speed Sao propriedades do vocabulario Palavra1 Local: URL 0; Frequencia: C 1 Markup: None Palavra2 Local: URL 0; Frequencia: C 2 Markup: None Local: URL 1; Frequencia: C3 Markup: URL(x.owl) 11

Pode ser utilizado com buscador tradicional Processo descrito Lista de sites retornados será maior, pois o crawler busca outras palavras além da SLR Buscador Semantico Passo 1 Informa a palavra Buscador busca os vocabulários e encontra um que contenha o conceito pesquisado O motor de busca apresenta estes arquivos owl Exemplo: z.owl 12

Buscador Semantico Passo 2 Busca na tabela de indices Verifica a marcação semantica Se for none; descarta o site Se for diferente de z.owl, apresenta a mensagem Este site contém a palavra pesquisada, mas com um significado diferente; a semantica da palavra encontrada está contida em um outro vocabulario Se for igual a z.owl, seria o mesmo significado semantico da palavra pesquisa. 13

Desafios Marcação Assume-se que a marcação deve ser feita pelos proprietarios do site Os desenvolvedores dos sites, por outro lado, dizem que necessitam de buscadores mais inteligentes Vocabulario em comum Dominios especificos Ambiçao de criar um unico vocabulario Construção da consulta Se o usuario nao estiver ciente da semantica do conceito que ele desejar utilizar? E se o conceito apresentar-se em diferentes vocabularios? Como escolher um? 14

Vocabulario comum aceito atualmente ONTOLOGIAS RDF, RDFS e OWL são linguagens de descrição semântica que podem ser utilizadas para construir uma ONTOLOGIA 15

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

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, 17

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 18

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 19

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 20

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 21

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 22

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 23 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 24

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. 25

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 26

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 27

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. 28 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 29 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. 30

É 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 31 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 32 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> 33

<?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> 34

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? 35

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 36

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 37

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 38 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 39 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. 40 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> 41

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

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 43

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 44

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 45

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. 46

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 47

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 48

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 49

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 50

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 51 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 52 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 53

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 54

<?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> 55

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 56

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 vocabularios 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 57

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 58

RDF é uma linguagem baseada em XML um dos pilares da Web Semantica uma linguagem recomendada pela W3C capaz de descrever um fato (recurso) independente de dominio estruturada interpretada por máquinas permite interoperabilidade entre aplicações 59

Básicos elementos Recurso Determina um padrão para especificar um dado sobre alguma coisa Um recurso é qualquer coisa que pode ser descrito em expressões RDF Web page, parte de um site, uma palavra em um site, ou ainda um objeto, livro, humano, cachorro Recurso é identificado por uma URI http://www.dbc.com/slr#nikon-d70 Propriedades É um recurso que contém um nome e pode ser utilizado como uma propriedade Descreve aspectos, caracteristicas, atributos, relações http://www.dbc.com/slr#peso 60

Básicos elementos Sentenças Sao utilizadas para descrever propriedades dos recursos. Seguinte formato Recurso (sujeito) + propriedade (predicado)+valor da propriedade (objeto) 61

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 ou propriedade que modifica o sujeito Casa contém portas http://www.casa.org/#contém Objeto Indica o objeto modificado pelo predicado, pode ser um literal ou um outro recurso Portas http://www.casa.org/#portas 62

Exemplo http://www.dbc.com.br/slr#nikon-d10 tem_um http://www.dbc.com.br/slr#peso valor 800g Utilizando os namespaces Xmlns:minhaSLR=http://www.dbc.com.br/SLR# minhaslr:nikon_d10 tem_um minhaslr:peso valor 800g Sujeito predicado objeto RDF Triple 63

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> 64

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. 65

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. 66

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 no RDF e RDFS Em relação às taxonomias, as ontologias proveem um rico relacionamento entre os seus termos 67

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> 68

<?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> 69

<?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> 70

É importante utilizar os mesmos predicados que outros já desenvolveram Isso permite que aplicaçoes também façam uso da informação 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) 71

<rdf:rdf xmlns:rdf= http://www.w3.org/199 9/02/22-rdf-syntax-ns# xmlns:rdfs= http://www.w3.org/2000/ 01/rdf-schema# xmlns:u= http://www.example.org/uni # xml:base= http://www.example.org/un i > <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 > 1.Gerar um grafo em RDF 2. Há algo a inferir? </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> 72

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

74

<rdf:description about=http://www.qqr.com/~ze> <nome>jose</nome> <sobrenome>virgulino</sobrenome> <namoracom> <rdf:description about=http://www.qqr.com/~maria> <nome>maria</nome> <sobrenome>bonita</sobrenome> </rdf:description> </namoracom> </rdf:description> 75

Verificar a diferença entre RDF Triple e RDF Quad? O que tem a mais? Como é o funcionamento? 76

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 77