• Nenhum resultado encontrado

XML padrão para descrição de dados semiestruturados

Ontologia Modelos pretendidos

3.3 ANOTAÇÃO (SEMÂNTICA) DE DOCUMENTOS MULTIMÍDIA

3.3.3 Web Semântica e tecnologias subjacentes

3.3.3.1 XML padrão para descrição de dados semiestruturados

Historicamente a palavra “marcação” descreve anotações ou marcas que informavam a maneira como parte de um texto deveria ser representada. O paradigma das linguagens de marcação vislumbra que um documento é composto de conteúdo, estrutura e estilo (ALMEIDA e SOUZA, 2011). O conteúdo seria a informação em si; a estrutura seria como se dá a organização da informação; e o estilo, a maneira como a informação será apresentada para o usuário.

Algumas linguagens de marcação de padrão aberto (SGML, HTML, XML, etc) permitem a criação de documentos que podem ser manipulados independentemente de plataforma de hardware e software. As linguagens XML e HTML (HyperText Markup Language) são

linguagens com tais objetivos, sendo originadas da SGML95 (Standard Generalized Markup Language). O CERN – European Organization for Nuclear Research (Centro Europeu de Pesquisas

Nucleares) utilizou no início da década de 80 a SGML em pesquisas de hipertextos. Dessa maneira, o pesquisador Tim Berners-Lee acabou criando no início da década de 90 o Word-Wide Web, que

empregava a ideia de ligações entre documentos (páginas) localizados em qualquer parte do mundo, através da rede mundial de computadores (a Internet) e do URL (Localizador de Recurso Universal)96. Daí o surgimento da HTML97, sendo formada por um conjunto de marcações (conhecidas por tags) predefinidas, com a função de apresentar a informação por meio de páginas

Web. Tal linguagem é um padrão usado em diversas aplicações, incluindo navegadores, editores, servidores de base de dados e outros, entretanto apenas descreve como uma página Web deve ser exibida, não oferecendo descrição dos dados envolvidos (quando muito, apenas metadados

95 Reconhecida como um padrão ISO (8879). É considerada uma linguagem para definir outras linguagens. 96 Universal Resource Locator, em inglês.

108 embutidos nos cabeçalhos dos documentos). Isso pode acarretar restrições nas buscas, no intercâmbio de dados entre plataformas diferentes, na personalização da informação, dentre outras.

A linguagem XML98 surge então em 1997 com a proposta de ser um formato padrão para descrição de dados semiestruturados. Uma diferença em destaque entre HTML e XML é que esta última permite um número ilimitado de marcações, indicando o que cada elemento significa, e não o que será apresentado. Tal formato é especificado por definições de tipos de documentos (DTDs) ou por esquemas XML (XML Schema99 ou XMLS). Um DTD define a estrutura e sintaxe

de um documento, ajudando a validar se o mesmo está em conformidade com uma estrutura. Esquemas XML têm a mesma função, mas permitem um maior tratamento às informações. Pode-se definir tipo e formato exato dos atributos, número exato de instâncias de um aninhamento e há mecanismos de inclusão e derivação que proporcionam o seu reúso (TOLENTINO, 2004). Estas capacidades ajudam a reduzir a distância entre DTDs e ontologias, pois podem ser introduzidos meios para restringir estruturas de documentos e conteúdos, herança para elementos e atributos, tipos primitivos e outras características úteis (FENSEL et al., 2001).

A XML pode utilizar padrões de metadados como o Dublin Core na declaração de vocabulários, os quais podem ser criados pelos próprios autores do documento. Os vocabulários são declarados através da utilização da marcação namespace100XML, o que garante uma definição única

para cada termo utilizado na confecção do documento, evitando ambiguidade em sua referência. Desse modo, uma coleção de nomes é identificada a partir de uma referência a um Identificador Uniforme de Recurso (URI)101, uma forma de identificar unicamente recursos com manifestações digitais (por exemplo, páginas Web, coluna de uma tabela, imagem, vídeo) e não digitais (por exemplo, pessoas, livros, localizações). Uma URL, por exemplo, é um tipo de URI usado para identificar páginas Web. Finalmente, o padrão Unicode102 define um único número para cada caractere representado, não importando em que plataforma ou linguagem, sendo, portanto, fundamental para garantir interoperabilidade.

No exemplo da Figura 17, os elementos xmlns:dc e xmlns:lib indicam respectivamente o namespace do próprio Dublin Core e o relativo ao domínio de biblioteca (library). Cada elemento

está localizado dentro de um único arquivo, que contém a especificação do vocabulário utilizado para descrever a entidade livro no domínio de biblioteca. Para evitar a repetição do endereço do vocabulário todas as vezes que se fizer menção a um de seus termos, cria-se um namespace

(mapeado a um URI) para ele. No exemplo, as tags do tipo <lib:> e <dc:> substituem

respectivamente a menção aos seus endereços completos (http://library/vocabulary/book e

98 http://www.w3.org/XML/ 99 http://www.w3.org/XML/Schema

100 http://www.w3.org/TR/REC-xml-names/ 101 Uniform Resource Identifier, em inglês 102 http://www.unicode.org

http://purl.org/dc/elements/1.1/). Exemplos são title, description, publisher e identifier relacionados

ao prefixo <dc:> e price e institution relacionados ao prefixo <lib:>. Figura 17 - Exemplo de um documento em XML <?xml version="1.0"?>

<xmlns:dc="http://purl.org/dc/elements/1.1/"> <xmlns:lib="http://library/vocabulary/book"> <lib:book>

<dc:title> Web Semântica – a Internet do Futuro </dc:title>

<dc:description> Este livro trata da Web Semântica. </dc:description> <dc:publisher> Livros Técnicos e Científicos </dc:publisher>

<dc:identifier> http://www.inf.puc-rio.br/index.html </dc:identifier> <lib:price> R$ 33,71 </lib:price>

<lib:institution> Pontifícia Universidade Católica do Rio de Janeiro </lib:institution> </lib:book>

Fonte: elaborado pelo autor.

De modo a tratar a semântica envolvida nas estruturas de metadados existentes em diferentes comunidades, novas propostas de linguagens genéricas baseadas em XML surgiram com funções de publicar vocabulários legíveis para humanos e máquinas, buscando proporcionar reutilização e distribuição de metadados na Web. Tais linguagens são descritas a seguir.