Post on 14-Dec-2014
description
XML + RDF + Web Semantica
Por Sergio Crespo
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).
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.
Nome
Foto E-mail
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.
Separação entre dados e apresentação
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.
HTML
XML
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.
DTD: linguagem para definir a estrutura de um documento XML
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.
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
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.
Semânticas diferentes!
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
UML to XMLAtributos
Elementos
UML to XML
Relação todo-parte
UML to XML
UML e XML
UML e XMLUML
XML
Temos sintaxe, mas não semântica
Qual a saída????
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.
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
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;
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:
Declarações são triplas(sujeito,predicado,objeto):– Recurso tem propriedades que têm valores;
RecursoPropriedade
Valor
Declaração
RDF
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:horacio@paleo.org"/><dc:publisher
rdf:resource="http://www.edissauros.com.br"/></rdf:Description>
</rdf:RDF>
© http://blog.kutova.com/2007/07/11/o-que-e-rdf-parte-1/
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.
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
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.
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>
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>
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>
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
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
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
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
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
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
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
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
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
Web Semântica - Camadas
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 neil@pucpcaldas.br
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 neil@pucpcaldas.br
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 neil@pucpcaldas.br
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 neil@pucpcaldas.br
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 neil@pucpcaldas.br
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 neil@pucpcaldas.br
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>