57
XML + RDF + Web Semantica Por Sergio Crespo

Arquitetura: XML + RDF ate WebSemantica

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Arquitetura: XML + RDF ate WebSemantica

XML + RDF + Web Semantica

Por Sergio Crespo

Page 2: Arquitetura: XML + RDF ate WebSemantica

XML - Extensible Markup Language

Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso facilita declarações mais precisas do conteúdo e resultados mais significativos de busca através de múltiplas plataformas. O XML também permitiu o surgimento de uma nova geração de aplicações de manipulação e visualização de dados via internet.

HTML e XML são primos. Eles derivam da mesma inspiração, o SGML. Como o HTML, o XML também faz uso de tags (palavras encapsuladas

por sinais '<' e '>') e atributos (definidos com name="value"), mas enquanto o HTML especifica cada sentido para as tags e atributos (e frequentemente a maneira pela qual o texto entre eles será exibido em um navegador), o XML usa as tags somente para delimitar trechos de dados, e deixa a interpretação do dado a ser realizada completamente para a aplicação que o está lendo.

Resumindo, enquanto em um documento HTML uma tag <p> indica um parágrafo, no XML essa tag pode indicar um preço, um parâmetro, uma pessoa, ou qualquer outra coisa que se possa imaginar (inclusive algo que não tenha nada a ver com um p como por exemplo autores de livros).

Page 3: Arquitetura: XML + RDF ate WebSemantica

XML - Extensible Markup Language

Os arquivos XML são arquivos texto, mas não são tão destinados à leitura por um ser humano como o HTML é.

O XML provê uma representação estruturada dos dados que mostrou ser amplamentemente implementável e fácil de ser desenvolvida.

O XML provê um padrão que pode codificar o conteúdo, as semânticas e as esquematizações para uma grande variedade de aplicações desde simples até as mais complexas, dentre elas:

Um simples documento. Um registro estruturado tal como uma ordem de compra de produtos. Um objeto com métodos e dados como objetos Java ou controles ActiveX. Um registro de dados. Um exemplo seria o resultado de uma consulta a

bancos de dados. Apresentação gráfica, como interface de aplicações de usuário. Entidades e tipos de esquema padrões. Todos os links entre informações e pessoas na web.

Page 4: Arquitetura: XML + RDF ate WebSemantica

Nome

Foto E-mail

Page 5: Arquitetura: XML + RDF ate WebSemantica

XML - Extensible Markup LanguageSeparação entre dados e apresentação

A mais importante característica do XML se resume em separar a interface com o usuário (apresentação) dos dados estruturados. O HTML especifica como o documento deve ser visto na tela por um navegador. Já o XML define o conteúdo do documento. Por exemplo, em HTML são utilizadas tags para definir tamanho e cor de fonte, assim como formatação de parágrafo. No XML você utiliza as tags para descrever os dados, como exemplo tags de assunto, título, autor, conteúdo, referências, datas, etc.

Page 6: Arquitetura: XML + RDF ate WebSemantica

Separação entre dados e apresentação

Page 7: Arquitetura: XML + RDF ate WebSemantica

XML - Extensible Markup LanguageO XML é considerado de grande importância

na Internet e em grandes intranets porque provê a capacidade de

Interoperabilidade de dados por ter um padrão flexível e aberto e independente de dispositivo.

Page 8: Arquitetura: XML + RDF ate WebSemantica

HTML

XML

Page 9: Arquitetura: XML + RDF ate WebSemantica

XML ElementosDTD - Document Type Definitions: É uma

gramática para o documento XML, e sua importância está relacionada à possibilidade que o próprio usuário defina suas marcações. Assim, é necessária uma gramática que apresente o significado da marcas criadas.

Page 10: Arquitetura: XML + RDF ate WebSemantica

DTD: linguagem para definir a estrutura de um documento XML

Page 11: Arquitetura: XML + RDF ate WebSemantica

A primeira linha diz que o elemento raiz (aquele que está situado no topo da árvore) é <bd>.

As próximas cinco linhas são declarações de marcações, que mostram que <bd> pode conter um número arbitrário (representado pelo asterisco) de elementos <pessoa>, cada um contendo os elementos <nome>, <idade> e <email>, os quais contêm apenas caracteres “data” (não possuem mais elementos).

A expressão “ pessoa* ” é uma expressão regular, significando qualquer número de elementos pessoa. Outras expressões regulares são possíveis.

Page 12: Arquitetura: XML + RDF ate WebSemantica

DTDUma característica importante do DTD é que ele pode se

referir a dados externos usando uma URL-Uniform Resource Locator* . Tais referências externas podem ser úteis para processo de intercâmbio de dados. Encontram também aplicação prática na área de Tratamento da Informação, na definição de repositórios de autoridadese em metadados.

<livro><titulo> ILA – Aprendendo a programa numa linguagem algoritmica</titulo></livro>

<Filme><titulo> O caçador de androids</titulo></livro>

Mesma TAG

Page 13: Arquitetura: XML + RDF ate WebSemantica
Page 14: Arquitetura: XML + RDF ate WebSemantica

DTD e NamespacesNa linguagem XML, é permitido que projetistas de

linguagens baseadas em XML, definam seus próprios elementos. Por causa disso pode ocorrem de dois ou mais projetista de linguagens distintas, escolherem nomes iguais para seus elementos.

O uso de “namespace” prove uma forma de distinguir tais elementos que apesar de possuírem nomes iguais pertencem a vocabulários diferentes.

Desta forma pode-se utilizar dois elementos com nomes iguais, desempenhando papeis diferentes e pertencentes a vocabulários diferentes, em um mesmo documento XML.

Page 15: Arquitetura: XML + RDF ate WebSemantica

Semânticas diferentes!

Page 16: Arquitetura: XML + RDF ate WebSemantica

XMLAtualmente os componentes do padrão XML podem ser

listados abaixo:DTD - linguagem para definir a estrutura de um documento

XMLXpath - linguagem para referenciar partes de um

documentoXSL.FO - linguagem para definir formatação de

documentosXSLT - linguagem para especificar transformações de XML

para outros formatos texto (TXT, PDF, RTF , etc...)XML/Schema - substitui com vantagens a DTDXQuery - linguagem para escrever consultas em XML (SQL

da XML)APIs : SAX e DOM - interface para se comunicar com

processadores XML

Page 17: Arquitetura: XML + RDF ate WebSemantica

UML to XMLAtributos

Elementos

Page 18: Arquitetura: XML + RDF ate WebSemantica

UML to XML

Relação todo-parte

Page 19: Arquitetura: XML + RDF ate WebSemantica

UML to XML

Page 20: Arquitetura: XML + RDF ate WebSemantica

UML e XML

Page 21: Arquitetura: XML + RDF ate WebSemantica

UML e XMLUML

XML

Page 22: Arquitetura: XML + RDF ate WebSemantica
Page 23: Arquitetura: XML + RDF ate WebSemantica
Page 24: Arquitetura: XML + RDF ate WebSemantica
Page 25: Arquitetura: XML + RDF ate WebSemantica

Temos sintaxe, mas não semântica

Qual a saída????

Page 26: Arquitetura: XML + RDF ate WebSemantica

RDF é....?É uma linguagem para representar informação sobre

recursos existentes na Web.

Sua principal função é produzir metadados sobre os recursos, tais como título, autor, data de modificação da página web, copyright, informações sobre uso do documento, etc. Entretanto, generalizando o conceito de recurso Web, RDF também pode ser utilizada para representar informações sobre coisas que podem ser identificadas na Web, Como exemplos podemos citar: itens sobre shopping online ( especificação de produtos, preços, disponibilidades) ou a informações sobre preferência de usuários e desta forma, poder enviar ao usuário, informações mais pertinentes ao seu gosto ou interesse.

Page 27: Arquitetura: XML + RDF ate WebSemantica

RDFRDF – Resource Description Framework

É um modelo de dados para referenciar objetos e como eles estão relacionados;

Representado usando a sintaxe XML;Descreve os recursos através de declarações;

© Charles Alberton Herdt, Dyson Pereira Junior, Maurício Edgar Stivanello

Page 28: Arquitetura: XML + RDF ate WebSemantica

RDF Schema:Criação de um modelo para recursos de

determinada categoria;Utiliza o conceito de classes da OO;

Camada RDFS

RDFS é o vocabulário para descrever os recursos na forma de hierarquia de classes e propriedades;

Ao invés de definir modelos, foi disponibilizado um meio de criar suas próprias categorias;

Através de classes é possível especificar quais propriedades devem aparecer na descrição de um recurso.

Criação de vocabulários para comunidades específicas;

Page 29: Arquitetura: XML + RDF ate WebSemantica

Camada RDFSAqui temos a definição de uma classe livro e suas propriedades

título e autor

<?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#"><rdfs:Class rdf:ID="Livro"></rdfs:Class><rdfs:Property rdf:ID="Titulo">

<rdfs:domain rdf:resource=”#Livro”/><rdfs:range rdf:resource=”http://www.w3.org/2000/01/rdf-schema#Literal”/>

</rdfs:Property><rdfs:Property rdf:ID="Autor">

<rdfs:domain rdf:resource=”#Livro”/><rdfs:range rdf:resource=”http://www.w3.org/2000/01/rdf-schema#Literal”/></rdfs:Property>

</rdf:RDF>

Classe RDFS:

Page 30: Arquitetura: XML + RDF ate WebSemantica

Declarações são triplas(sujeito,predicado,objeto):– Recurso tem propriedades que têm valores;

RecursoPropriedade

Valor

Declaração

RDF

Page 31: Arquitetura: XML + RDF ate WebSemantica
Page 32: Arquitetura: XML + RDF ate WebSemantica

RDF<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-

syntax-ns#"xmlns:dc=" http://purl.org/dc/elements/1.1/">

<rdf:Description rdf:about="http://www.paleo.org/dinos.html">

<dc:title> Vida dos Dinossauros </dc:title><dc:creator

rdf:resource=“mailto:[email protected]"/><dc:publisher

rdf:resource="http://www.edissauros.com.br"/></rdf:Description>

</rdf:RDF>

Page 33: Arquitetura: XML + RDF ate WebSemantica

© http://blog.kutova.com/2007/07/11/o-que-e-rdf-parte-1/

Page 34: Arquitetura: XML + RDF ate WebSemantica

Esse exemplo diz que o ator Vincent Donofrio apareceu no programa de TV Law & Order: Criminal Intent. Também diz que o filme The Thirteenth Floor tem um enredo similar ao de The Matrix.

Page 35: Arquitetura: XML + RDF ate WebSemantica

Declarações são triplas(sujeito,predicado,objeto):– Recurso tem propriedades que têm valores;

Esse exemplo diz que o ator Vincent Donofrio apareceu no programa de TV Law & Order: Criminal Intent. Também diz que o filme The Thirteenth Floor tem um enredo similar ao de The Matrix.

Conhecimento

Page 36: Arquitetura: XML + RDF ate WebSemantica

RDF Containers

Bag Uma lista desordenada de recursos ou literais

Seq Uma lista ordenada de recursos ou literais

Alt Uma lista de recursos ou literais que representam alternativas

para o valor de uma propriedade.

Page 37: Arquitetura: XML + RDF ate WebSemantica

Usando o Container BagDeclaração: Os autores do livro 0201000237 são Alfred, John e Jeffrey

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="urn:ISBN:0-201-00023-7"> <dc:creator> <rdf:Bag> <rdf:li>Alfred</rdf:li> <rdf:li>John</rdf:li> <rdf:li>Jeffrey</rdf:li> </rdf:Bag> </dc:creator> </rdf:Description> </rdf:RDF>

Page 38: Arquitetura: XML + RDF ate WebSemantica

Usando o Container SeqDeclaração: Os estudantes do curso csci-2962 em ordem alfabética são: Elizabeth, George e John

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://www.schemas.org/Course/"> <rdf:Description about="http://www.cs.vassar.edu/courses/cs240"> <s:students> <rdf:Seq> <rdf:li rdf:resource="http://www.cs.vassar.edu/students/er"/> <rdf:li rdf:resource="http://www.cs.vassar.edu/students/gl"/> <rdf:li rdf:resource="http://www.cs.vassar.edu/students/js"/> </rdf:Seq> </s:students> </rdf:Description> </rdf:RDF>

Page 39: Arquitetura: XML + RDF ate WebSemantica

Usando o Container AltDeclaração Os formatos do livro 0201000237 são plain text, html e postscript

<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description about="urn:ISBN:0-201-00023-7"> <dc:format> <rdf:Alt> <rdf:li>text/html</rdf:li> <rdf:li>text/plain</rdf:li> <rdf:li>application/postscript</rdf:li> </rdf:Alt> </dc:format> </rdf:Description> </rdf:RDF>

Page 40: Arquitetura: XML + RDF ate WebSemantica

Limitações do RDF

A expressividade do RDF é muito limitadaRDF é limitado a declarações binárias

– Classes disjuntas?

RDF Schema é limitado à hierarquia de subclasse e de propriedade

Várias outras características são necessárias à Web Semântica

Page 41: Arquitetura: XML + RDF ate WebSemantica

WebSemantica

Maior poder de construção e busca da informação na Web

A ideia da Web Semântica surgiu em 2001, quando Tim Berners-Lee, James Hendler e Ora Lassila publicaram um artigo na revista Scientific American defendendo a necessidade de uma nova Web

Page 42: Arquitetura: XML + RDF ate WebSemantica

Web Atual x Web SemanticaRecurso

Recurso Recurso Recurso Recurso

Recurso

Recurso Recurso Recurso

Link para

Link paraLink para

Link para

Link para Link para

Link paraLink para

Link para

Software

Documento Biblioteca Imagem Biblioteca

Documento

Tópico Tópico Pessoa

As s unto

temManual

requerrequer

baseadoEmparteDe

autorAssunto

Assunto

(c) Charles Alberton Herdt, Dyson Pereira Junior, Maurício Edgar Stivanello

Page 43: Arquitetura: XML + RDF ate WebSemantica

Arquitetura da Web SemânticaMotor de

Busca Interface de Conversação

Motor de Busca

Heurístico

Web Semântica

CamadaLógica

CamadaOntologia

CamadaEsquema

Ontologia Ontologia Ontologia

RDFXML

Lógica: Regras de Inferência

© Gabriel Pontes, http://papadocs.dsi.uminho.pt:8080/retrieve/308/Apres.ppt

Page 44: Arquitetura: XML + RDF ate WebSemantica

Web Semântica Elementos que compõem a Web Semântica

Representação do conhecimento Markup language

Ontologias Estabelecem a relação entre conceitos, adicionam

regras lógicas e definem uma terminologia comum em domínios de aplicação

Definem um vocabulário comum auxiliando no entendimento do que está representado numa base de dados geográfica

Agentes Utilizados para capturar, processar e compartilhar o

conteúdo disponível na Web.© Gabriel Pontes, http://papadocs.dsi.uminho.pt:8080/retrieve/308/Apres.ppt

Page 45: Arquitetura: XML + RDF ate WebSemantica

Web Semântica - NíveisNível Esquema

Controle dos dados (estruturando e definindo um significado bem definido)

XML/DTD/RDFNível Ontologia

Responsável pela definição da relação entre conceitos Auxilia o computador a deduzir o significado da informação

contida nos documentos Permite o relacionamento entre o conteúdo processado pelo

computador e os aspectos do mundo real através de terminologias consensuais

Linguagens DAML + OIL Junção de padrões para descrever e trocar informações

© Gabriel Pontes, http://papadocs.dsi.uminho.pt:8080/retrieve/308/Apres.ppt

Page 46: Arquitetura: XML + RDF ate WebSemantica

Web Semântica - NíveisNível Lógico

Composto por um conjunto de regras de inferência que podem ser utilizadas por agentes para relacionar e processar a informação Os agentes podem “raciocinar” sobre os termos e seus

significados, definidos na camada Esquema Raciocinar sobre os relacionamentos entre conceitos

concordando com sua definição na camada Ontologia

© Gabriel Pontes, http://papadocs.dsi.uminho.pt:8080/retrieve/308/Apres.ppt

Page 47: Arquitetura: XML + RDF ate WebSemantica

Web Semântica no Acesso à Informação

Web SemânticaMáquinas mais eficientesFacilitem a vida dos utilizadoresManipulação dos dados

No acesso à informação:Tratamento, armazenamento e recuperação da

informaçãoOs motores de busca irão melhorar seu desempenho;

© Gabriel Pontes, http://papadocs.dsi.uminho.pt:8080/retrieve/308/Apres.ppt

Page 48: Arquitetura: XML + RDF ate WebSemantica

Web Semântica no Acesso à Informação

Uma solução em termos de implementação da Web Semântica:Linguagem XMLModelo RDFOntologiaAgentes

A eficácia desses agentes aumentaráexponencialmente o conteúdo da Web e osserviços automatizados.

© Gabriel Pontes, http://papadocs.dsi.uminho.pt:8080/retrieve/308/Apres.ppt

Page 49: Arquitetura: XML + RDF ate WebSemantica

Web Semântica - Camadas

Page 50: Arquitetura: XML + RDF ate WebSemantica

Requisitos para uma Linguagem de Ontologia

Sintaxe bem definidaSemântica formal

– Instância de classe– Equivalência entre classes etc.

Possibilitar raciocínio eficiente (inferência)– Checar consistência– Checar relacionamentos– Classificação automática

(c) Neil Paiva Tizzo [email protected]

Page 51: Arquitetura: XML + RDF ate WebSemantica

OWL - Web Ontology Language

OWL (parcialmente) mapeada para uma lógica descritiva

Raciocinadores disponíveis: FaCT, FaCT++, RACER, Pellet etc.

OWL dividida em três diferentes sublinguagens:– OWL Lite– OWL DL– OWL Full

(c) Neil Paiva Tizzo [email protected]

Page 52: Arquitetura: XML + RDF ate WebSemantica

OWL Lite

Suporta basicamente hierarquia de classificação e simples características de restrição– Exclui classes enumeradas e cardinalidade

arbitráriaVantagens

– Fácil de entender e de usar– Facilidade para a criação de ferramentas

(c) Neil Paiva Tizzo [email protected]

Page 53: Arquitetura: XML + RDF ate WebSemantica

OWL DL (Description Logic)Suporta o máximo de expressividade sem

perder a completude computacional– Corresponde à lógica descritiva– Uma classe não pode ser ao mesmo tempo

um indivíduo ou um tipo– Uma propriedade não pode ser ao mesmo

tempo um indivíduo ou uma classe– Possibilita o raciocínio eficiente

Não há compatibilidade total com o RDF

(c) Neil Paiva Tizzo [email protected]

Page 54: Arquitetura: XML + RDF ate WebSemantica

OWL Full

Possibilita o máximo de expressividade e a liberdade sintática do RDF.– Uma classe pode ser tratada

simultaneamente como uma coleção de indivíduos ou, simplesmente, como um indivíduo.

OWL Full é tão poderosa que é indecidível.– Não há suporte completo (ou eficiente) ao

raciocínio.

(c) Neil Paiva Tizzo [email protected]

Page 55: Arquitetura: XML + RDF ate WebSemantica

OWL-S

OWL-S define um conjunto de marcadores para a descrição de Serviços Web

É uma linguagem de descrição de interface (parte abstrata e concreta)– Assim como WSDL

É também uma linguagem de descrição de processos– Assim como WS-BPEL

(c) Neil Paiva Tizzo [email protected]

Page 56: Arquitetura: XML + RDF ate WebSemantica

XML - Exercício O cabeçalho de uma nota fiscal possui a identificação (série e número) , a

empresa emissora , o comprador e a data de emissão. Para a empresa emissora constam o CGC, inscrição estadual , nome ,telefone, endereço e estado. Para o comprador caso seja uma empresa constam os mesmos dados citados. Caso seja uma pessoa física consta CIC , nome , telefone e endereço.

Cada linha da nota fiscal contém o número da linha, o identificador do produto , uma descrição do produto , a quantidade , o preço unitário e o preço total.

No pé da nota fiscal ,constam o total de impostos e o valor total da nota.

Especificar esta nota em XML

<?xml version="1.0"?> <nota_fiscal> .........</nota_fiscal>

Page 57: Arquitetura: XML + RDF ate WebSemantica