Universidade Federal da Paraíba
Centro de Ciências e Tecnologia
Curso de Mestrado em Informática
Proposta de Dissertação de Mestrado
Aplicando RDF
na interoperabilidade de dados
de diferentes domínios
(estudo de caso)
Mestrando
Domingos Sávio Apolônio Santos
[email protected]
Orientador
Ulrich Schiel
[email protected]
Campina Grande - Paraíba - Brasil
Março - 2001
Índice geral
1 - Introdução................................................................................................................................3
1.1 - A internet: solução e problemas.........................................................................................3
1.2 - O acesso a dados na Web................................................................................................3
1.3 - Necessidade de padrão para metadados na Web.................................................................4
1.4 - A atuação do W3C............................................................................................................4
1.5 - RDF.................................................................................................................................5
1.6 - A aplicabilidade do RDF....................................................................................................7
1.7 - O que precisa ser feito......................................................................................................8
2 - Objetivos.................................................................................................................................9
2.1 - O objetivo geral.................................................................................................................9
2.2 - A escolha do primeiro domínio...........................................................................................9
2.3 - A escolha do segundo domínio.........................................................................................10
2.4 - A interoperabilidade.........................................................................................................10
2.5 - Sumário dos objetivos......................................................................................................14
3 - Relevância.............................................................................................................................15
3.1 - Esquemas RDF..............................................................................................................15
3.2 – Informações para futuros trabalhos na área.......................................................................16
3.3 - A aplicação prática final...................................................................................................17
4 – Metodologia...........................................................................................................................17
5 - Cronograma...........................................................................................................................19
6 – Apêndice - Metadados na Web e o Resource Description Framework - RDF...............................20
6.1 - Introdução......................................................................................................................20
6.2 - Metadados na Web.........................................................................................................21
6.2.1 - SGML.....................................................................................................................22
6.2.2 - HTML.....................................................................................................................25
6.2.3 - Xml.........................................................................................................................29
6.2.4 – Warwick Framework e MFC....................................................................................33
6.2.5 – MDC e o OMG........................................................................................................34
6.3 - Resource Description Framework.....................................................................................35
6.3.1 – Sintaxe básica........................................................................................................40
6.3.2 – Contêineres............................................................................................................41
6.3.3 – Sentenças sobre sentenças.....................................................................................43
6.3.4 - Esquema RDF.........................................................................................................45
6.3.5 - Aplicações do RDF..................................................................................................52
6.3.6 – Considerações Finais..............................................................................................55
7 - Glossário...............................................................................................................................57
8 – Referências bibliográficas.......................................................................................................63
2
1 - Introdução
1.1 - A internet: solução e problemas
A Internet surgiu em 1969 com a ARPAnet (Advanced Research Projects Agency
Network) nos EUA (LEINER, 2000), mas ficou restrita aos ambientes militares,
acadêmicos e científicos. Somente a partir da criação do serviço WWW - World Wide
Web, em 1991 por Tim Berners-Lee no laboratório CERN - Suíça (Conseil European
pour la Recherché Nucleaire), foi disparado o processo de popularização dessa
tecnologia. O motivo chave para este fato foi a facilidade de utilização possibilitada
pelo ambiente gráfico. Como conseqüência, embora os benefícios desta tecnologia
sejam inumeráveis, sua utilização em escala universal trouxe também uma grande
quantidade de problemas. Tais problemas são relacionados a diversos aspectos
desta tecnologia (software de suporte, infra-estrutura de comunicação, protocolos de
rede,
etc.),
mas
focaremos
nossa
atenção
nos
aspectos
relacionados
especificamente com os dados disponibilizados via Web.
1.2 - O acesso a dados na Web
Há um volume quase infinito de dados disponível na Internet e sua utilização racional
(consulta e interoperabilidade) tem sido prejudicada em função da quase completa
ausência de padrões. Esta constatação é muito bem ilustrada por uma célebre frase
de Ted Nelson (quem primeiro usou a palavra “Hipertexto” - 1965), durante uma
conferência em 1997: “A reação da comunidade de pesquisa em hipertexto para
com a World Wide Web é como descobrir que você tem um filho já crescido e que é
um delinqüente.” (BACA, 1998). Realmente a organização das informações na Web
está mais relacionada com a idéia de desordem, pois a linguagem de suporte para
as informações (HTML - Hypertext Markup Language) tem como objetivo quase único
à formatação dos dados, exceto por um de seus elementos de marcação, a marca
3
(tag) <META>, que dá suporte a metadados, mas é muito limitado e pouco usado.
São limitados porque a síntaxe HTML para os tags META possibilita somente a
definição de elementos muito simples de metadados. São pouco usados porque,
como não produzem resultado visual, não despertam o interesse do desenvolvedor
médio.
1.3 - Necessidade de padrão para metadados na Web
A utilização de um padrão para metadados, internacionalmente reconhecido e cuja
implementação seja independente de plataforma e fornecedor, tem demonstrado ser
a maneira mais promissora para possibilitar a interoperabilidade de dados de
diferentes fontes no ambiente Web. Com a linguagem HTML (amplamente utilizada),
os sistemas de busca dispõem apenas das informações sobre o título do documento,
do texto inteiro ou das informações do tag META, este quando existir (GALNARES,
1999). Com estes mínimos recursos de processamento de metadados, é bem
evidenciada a razão da grande quantidade de links inúteis retornados em pesquisas
nos sistemas de busca. Disto, percebe-se que, caso fosse possível dispor de um rico
banco de recursos para metadados, o processamento das informações na Web seria
otimizado.
1.4 - A atuação do W3C
O World Wide Web Consortium (W3C) vem atuando desde 1994 com a finalidade de
definir diversos padrões para a Web, principalmente metadados (JACOBS, 2000). A
partir das necessidades apontadas pela comunidade que utiliza a Web, o W3C foi
criando estes padrões e aprimorando os já existentes, como ocorreu com a
linguagem HTML cuja versão atual é a 4.01 e já produziu uma variante: a XHTML
(eXtensible HTML). Uma dessas necessidades foi a quebra das limitações dos tags
predefinidos da linguagem HTML que levou a criação da linguagem XML,
padronizada pelo W3C em 1998. Com a XML, passou-se da preocupação com a
4
formatação (HTML) para a descrição de conteúdo. Com ela, novos tags podem ser
definidos de acordo com a necessidade do usuário, os dados podem ser
estruturados e aninhados a profundidades arbitrárias, além de possibilitar uma
descrição opcional de sua gramática (ABITEBOUL, 2000, pág. 27). Toda a liberdade
de estruturação dos dados foi dada ao usuário, mas isto não favoreceu
completamente à padronização de metadados. Era necessário um acordo entre os
envolvidos quanto à nomenclatura e significado dos tags empregados a fim de que os
mesmos fossem reconhecidos em ambientes heterogêneos, ou seja, era preciso
estabelecer um formato padrão comum para a troca de mensagens entre aplicações
(BRITTON, 2001: 247). Esta necessidade foi suprida parcialmente com a
especificação dos esquemas XML (W3C, 2001), mas, de uma maneira geral, a
linguagem do esquema XML não é o suficientemente genérica para representar
modelo de dados muito complexos, conforme é citado no “The Cambridge
Communiqué” (W3C, 1999).
1.5 - RDF
Resource Description Framework (RDF) foi uma iniciativa do W3C para, a partir da
linguagem XML, estabelecer uma infra-estrutura que possibilite a codificação,
intercâmbio e reuso de estruturas de metadados (MILLER, 1998). Foi padronizado
em 1999 e inicialmente definiu um modelo simples para descrever interrelacionamentos entre recursos em termos de suas propriedades e valores.
Posteriormente, a especificação foi complementada com outra, atualmente ainda
como recomendação candidata (Schema Specificação 1.0 - RDFS), que estabelece
mecanismos
para
declarar
as
propriedades
dos
recursos
e
definir
os
relacionamentos entre tais propriedades e outros recursos (BRICKLEY, 2000).
Através de um framework especialmente projetado para o processamento de
metadados, o RDF representa a materialização de um modelo universal para
interoperabilidade entre dados e seu processamento automatizado dentro do
ambiente Web. Dentre as áreas de aplicação, que já estão beneficiando-se desta
5
tecnologia, podemos destacar: descobrimento de recursos - para melhorar a
eficiência e eficácia dos sistemas de busca; a catalogação - para descrição de
conteúdo e seus relacionamentos em um site ou biblioteca digital; agentes
inteligentes de software - para facilitar o compartilhamento e troca de conhecimento; a
descrição dos direitos de propriedade intelectual dos recursos disponibilizados na
Web, etc.
A especificação do W3C define um modelo abstrato, representado por um grafo
direcionado e com arestas rotuladas, que representa os relacionamentos entre as
entidades (recursos) (STAAB, 2001). Os nós são os recursos e as arestas as
propriedades
(KLYNE, 2000). Os recursos possuem propriedades
e
tais
propriedades podem ser outros recursos ou um literal (FORSBERG, 2000).
Esquemas RDF, ou vocabulários, são usados para definir a identificação dos nós
(chamados classes) e das arestas (chamadas property types) que podem ser usadas
para descrever e consultar recursos em uma específica comunidade de usuários.
Estas identificações podem ser organizadas em taxonomias apropriadas, embutindo
inclusive semântica (ALEXAKI, 2000).
RDF é uma das âncoras para a montagem da chamada WEB Semântica (Semantic
Web), um dos objetivos do W3C que idealiza o desenvolvimento de um ambiente de
software que permita cada usuário fazer o melhor uso dos recursos disponíveis na
Web. É importante registrar que, antes da existência do RDF, já havia diversas
iniciativas de padronização de metadados, mas todas relacionadas a áreas
especificas, como por exemplo, o MARC (Machine-Readable Cataloging Format) e
o DC (Dublin Core), na área de catalogação eletrônica, e que hoje utilizam RDF na
sua descrição de metadados (Medeiros, 1999). Portanto, RDF é uma tentativa de
estabelecimento de um padrão universal para definição de metadados e que, pelo
pouco tempo de padronização, tem sido implementado em um número já significativo
de aplicações e serviços na Internet (ver apêndice A). Desta forma, evidencia-se sua
aceitação na comunidade Web.
6
1.6 - A aplicabilidade do RDF
Para tornar possível a aplicabilidade do RDF, é necessário definir esquemas,
baseados na especificação deste framework, para os diversos domínios das
aplicações na Web. Estas aplicações podem ser divididas em dois tipos distintos. No
primeiro, estão as aplicações relacionadas com a infra-estrutura de dados (PICS,
DCD, RSS, CC/PP, P3P, OIL, etc.), ou seja, aquelas em que se utilizam padrões de
metadados para otimizar a estrutura da Web não visível ao usuário. No segundo tipo
estão as relacionadas diretamente com os elementos de dados manipulados ou
visíveis para o usuário, representadas pelo padrão Dublin Core (DC) e os diversos
padrões para o intercâmbio de dados nas diversas áreas de conhecimento como
bibliotecas digitais, comércio eletrônico, recursos humanos, notícias, material
educacional, etc. Os padrões do primeiro tipo são coordenados principalmente pelo
W3C. Os do segundo tipo são estabelecidos principalmente por organizações de
normalização baseando-se na necessidade de intercâmbio de dados em sua
comunidade de usuários. A definição de padrões baseado no RDF (esquemas) para
aplicações do segundo tipo citado acima ainda não é uma prática amplamente
adotada devido à recente padronização deste framework, exceto quanto ao DUBLIN
CORE, que provavelmente foi uma dos primeros padões para metadados descritos
através do RDF. A especificação do modelo e sintaxe RDF ocorreu em fevereiro de
1999 e a especificação do esquema ainda está na fase de recomendação candidata
desde março de 2000. Portanto, a comunidade usuária da Web ainda está na fase de
reconhecimento dos conceitos, aplicações e seus respectivos desdobramentos
referente a este framework, embora já existam bons exemplos de utilização como o
“INDECS Metadata Model” (Interoperability of Data in E-Commerce Systems) para o
comércio eletrônico (RUST, 2000). Há um número considerável de padrões definidos
através de DTDs (Document Type Definition) ou esquemas XML, muito bem
catalogados pela OASIS (Organization for the Advancement of Structured
Information Standards) em <http://www.xml.org/xmlorg_registry/index.shtml>, que
tendem a descreverem seus esquemas através do RDF a fim de beneficiarem-se de
seus recursos. De um modo geral, a aplicabilidade do RDF ainda está no estágio
7
inicial e, por este motivo, não dispõe de um histórico de práticas bem documentado
que sirva de base para direcionar os desenvolvedores que pretendem adotar este
padrão.
1.7 - O que precisa ser feito
Como foi visto, uma estrada para a Web estruturada foi aberta com a especificação
do Resource Description Framework e há um longo caminho a ser percorrido a fim de
que sua aplicação seja generalizada. Além de ser necessário montar um conjunto de
ferramentas (editores, “parsers”, spiders, ferramentas para validação, consulta, etc.)
de suporte a esta tecnologia (já há algumas disponíveis como RDFdb, RDF Modeller,
Reggie Metadata Editor, 4Suite Server, Jena, etc.) e de implementar seus conceitos
nas aplicações clientes da Web, também é preciso desenvolver ações de publicidade
em toda a comunidade de desenvolvedores e usuários a fim de que os conceitos e
benefícios do RDF sejam conhecidos por todos. Somente desta maneira pode-se
tornar possível a ampla aplicação do Resource Description Framework.
8
2 - Objetivos
2.1 - O objetivo geral
A partir do cenário apresentado na introdução deste trabalho, evidencia-se a
necessidade de dar aplicabilidade ao Resource Description Framework em todos as
áreas de atuação da Web. A razão disto é que sua especificação é bem mais rica (na
representação de modelos de dados e esquemas) do que XML/DTD ou XML/XML
Schema, por exemplo. Neste sentido, o presente trabalho apresenta uma proposta de
aplicação para o RDF visando à interoperabilidade de dados entre dois domínios.
A seguir, serão detalhados aspectos mais específicos do trabalho a ser realizado.
2.2 - A escolha do primeiro domínio
Como é natural, o resultado deste trabalho também pretende servir de referência para
futuros trabalhos na área. Então, seria preciso que, pelo menos para uma das
aplicações, fosse escolhido um domínio que ainda não houvesse padronização de
esquema, nem através de DTDs (Document Type Definition) ou esquema XML, nem
no próprio RDF. Deste modo, o processo realmente seria iniciado sem nenhuma
etapa já obtida. Também seria conveniente que o domínio da aplicação ainda fosse
objeto de informatização, pois desta forma o processo começaria desde o projeto do
banco de dados que daria suporte à aplicação Web.
Considerando
os
aspectos
acima
citados,
além
da
necessidade
de
interoperabilidade de dados dentro do próprio domínio e fora dele, foi escolhido o
negócio de cartórios de registro de imóveis como um domínio que atendeu às
características já descritas. Como forma de prover o processo de desenvolvimento
com aspectos que possam enriquecer a experiência na realização do estudo de caso,
optou-se por montar a base de dados deste domínio através de um SGBD (Sistema
Gerenciador de Banco de Dados) objeto-relacional. Deste modo, poderá ser feita
9
uma comparação com o resultado a ser obtido com o segundo domínio que, por já
possuir uma base de dados informatizada, deverá ser fundamentado em um SGBD
relacional.
2.3 - A escolha do segundo domínio
A escolha do outro domínio também deveria ser pautada conforme já explicado
acima. Desta forma, como já foi escolhido um domínio sem padronização e em fase
de informatização, o outro domínio deveria ter as características opostas, de modo
que, pelo menos já possua uma base de dados que dê suporte à futura aplicação
Web. Dentro destes critérios, foi escolhido o negócio dos anúncios classificados que
já possui uma padronização de metadados, através de DTD/XML, estabelecida pela
NAA (Newspaper Association of América) através do NAA Classified Advertising
Standards Task Force (<http://www.naa.org/technology/clsstdtf/>). Desta maneira, o
DTD da NAA servirá de base para a montagem do esquema RDF para o domínio dos
anúncios classificados, mas será adaptado à realidade brasileira. Como já foi
explicado acima, este domínio terá sua base de dados em um SGBD relacional.
2.4 - A interoperabilidade
No ambiente dos domínios escolhidos há diversas situações em que há necessidade
de intercâmbio de dados. Para ilustrar comparativamente tal necessidade,
descreveremos várias situações assim caracterizadas:
a)sem aplicação Web;
b)com a aplicação Web, mas sem o intercâmbio de dados;
c)com aplicação Web, mas com intercâmbio de dados dentro do próprio domínio;
d)com aplicação Web e com intercâmbio com o outro domínio;
10
O caso (a) pode ser ilustrado da maneira descrita a seguir:
O comprador de imóvel consulta um jornal de anúncios classificados impresso em
papel e faz uma busca visual no imóvel de seu interesse. Ao encontrar algo que
atenda suas expectativas, entra em contato com o proprietário e combina com ele
o fechamento do negócio. Ao tentar formalizar a compra, no levantamento da
documentação verifica que o imóvel pertence a herdeiros e, por este motivo,
desiste da compra e volta a iniciar a procura conforme descrito acima. Caso seja
possível efetuar a compra, comparece ao cartório para formalizar a escritura e
providenciar o registro, operações que provocam pelo menos duas visitas ao
cartório.
O caso (b) pode ser ilustrado da seguinte maneira:
O comprador consulta um site de anúncios classificados; seleciona o assunto
“imóveis”
e
as
características
que
o
mesmo
deve
possuir
(apartamento/casa/terreno, venda/aluguel, etc.) e o sistema lista os itens de seu
interesse. Caso não haja itens do seu interesse, o comprador procura outro site de
anúncios classificados para fazer uma busca semelhante. Encontrado o item de
seu interesse, o comprador acessa o site de todos os cartórios de registro de
imóveis da cidade para checar todas as informações relevantes sobre o imóvel a
fim de concretizar ou não a compra. Caso não concretize a compra em função das
informações obtidas, volta a iniciar o processo de busca. Caso concretize a
compra, acessa o site do cartório para solicitar uma prévia preparação da
escritura de compra e venda e fornece todos os dados necessários do comprador
e vendedor. Ao chegar ao cartório toda a documentação já está pronta.
11
O caso (c) pode ser ilustrado da seguinte forma:
O comprador consulta um site de metabusca em anúncios classificados; em
seguida o assunto “imóveis” e as características que o mesmo deve possuir
(apartamento/casa/terreno, venda/aluguel, etc.) e o sistema lista os itens de seu
interesse. Encontrado os itens de seu interesse, o comprador acessa um site de
metabusca em dados de cartórios para localizar em que cartórios os imóveis de
seu interesse estão registrados para checar todas as informações relevantes
sobre o imóvel a fim de concretizar ou não a compra. Escolhido o imóvel sem
problemas (após o contato com o vendedor), o comprador concretiza a compra
acessa o site do cartório para solicitar uma prévia preparação da escritura de
compra e venda e fornece todos os dados necessários do comprador e vendedor.
Ao chegar ao cartório toda a documentação já está pronta.
Concluindo, o caso (d) pode ser ilustrado conforme abaixo:
O comprador consulta um site de metabusca; escolhe o item “anúncios
classificados”; em seguida o assunto “imóveis” e as características que o mesmo
deve possuir (apartamento/casa/terreno, venda/aluguel, etc.) e o sistema lista os
itens de seu interesse fazendo a consulta em diversos sites de classificados. Ao
fazer esta lista, o sistema também já faz uma busca nos sites de cartórios e
fornece, junto com as informações do anúncio, as informações mais relevantes do
registro do imóvel no cartório. Desta forma, o comprador já verifica as duas
informações de uma só vez. Caso o comprador deseje mais informações, há um
link para o registro completo do imóvel. Escolhido o imóvel sem problemas e
acertada a compra com o vendedor, o comprador concretiza a compra acessando
o site do cartório para solicitar uma prévia preparação da escritura de compra e
venda e fornece todos os dados necessários do comprador e vendedor. Ao
chegar ao cartório toda a documentação já está pronta.
12
A principal vantagem da aplicação do RDF nos casos (c) e (d) acima está no fato de
que, para o fornecedor das informações (cartórios e empresas de publicidade), a
inclusão de seus itens na metabusca é automática. Não há qualquer dependência de
prévio acordo entre o provedor do serviço de metabusca e seus fornecedores de
dados quanto à forma como eles serão disponibilizados. Apenas é necessário que
todos sigam o padrão RDF.
A figura 01 ilustra a interoperabilidade dos domínios.
WEB
Recursos
descritos
através do
RDF
Metabusca
Instância de A + Instância de B
Bases de
dados
Relacionais
Domínio
“Anúncios Classificados”
A
B
Domínio
“Serviços de Cartórios”
N
dados n
2
1
dados 2
dados 1
Bases de
dados
Objeto
Relacionais
N
dados n
dados 2
dados 1
2
1
Figura 01 – A interoperabilidade dos domínios
13
2.5 - Sumário dos objetivos
De acordo com o apresentado acima, os objetivos desta proposta são os seguintes:
?
criar esquemas, baseados no Resource Description Framework da
seguinte maneira:
? para o domínio “Serviços de Cartórios”, a partir de nenhum esquema
pré-existente;
? para o domínio “Anúncios de Classificados”, a partir do DTD
proposto pela NAA;
? criar e implementar uma base de dados armazenada em um SGBD
objeto relacional que servirá de base para os dados referente ao domínio
dos “serviços de cartórios”, restringindo-o para o caso dos cartórios de
registro de imóveis;
? montar a base de dados do domínio “Anúncios de Classificados” em um
SGBD relacional;
? demonstrar a aplicabilidade dos
desenvolvimento de
protótipos de
esquemas criados através do
aplicações que
viabilizam a
interoperabilidade de dados nos dois domínios citados em ambiente
Web.
14
3 - Relevância
Com a realização do trabalho apresentado nesta proposta, deseja-se que os
resultados possam contribuir de forma significativa para a área de conhecimento
correlata. Nesta perspectiva, as aplicações do resultado a ser alcançado são
apresentadas a seguir.
3.1 - Esquemas RDF
Os esquemas, que serão criados no padrão especificado pelo RDF no decorrer do
desenvolvimento do trabalho proposto, podem servir de base para a definição de
padrões no intercâmbio eletrônico de dados dentro de cada área envolvida. Não
somente através de organizações que promovem a definição de padrões, como
também por grupos específicos dos respectivos domínios para atender necessidades
particulares de interoperabilidade.
Para a área de anúncios classificados ainda não há um padrão definido de acordo
com a especificação do RDF (somente com o DTD da NAA, como já foi citado neste
trabalho). O esquema RDF a ser produzido para o domínio dos anúncios classificados
pode ser uma proposta a ser submetida a NAA, como forma de ajustar seus padrões
ao Resource Description Framework e, desta forma, beneficiar seu padrão com o
suporte para gerenciamento de metadados na Web proporcionado pelo RDF. Do
mesmo modo, o mesmo esquema pode ser proposto para as organizações nacionais
ligadas à imprensa (Associação Nacional de Jornais - ANJ, Associação de Mídia
Interativa - AMI, etc.) com o propósito de adoção de um padrão nacional para o
domínio. O esquema também poderia ser proposto para os portais de classificados
on-line, muito comum na Web, que teriam disponível um mecanismo genérico e
independente de plataforma para agilizar o intercâmbio de dados entre seus
parceiros.
15
Para a área de serviços de cartórios, como não há nenhuma padronização para
intercâmbio eletrônico de dados neste domínio, o esquema a ser obtido poderia ser
proposto ao Colégio Notarial do Brasil a fim de que tal padronização fosse adotada.
Como neste domínio a informatização ainda está em fase inicial, trata-se de um
momento oportuno para adoção de padrões. O mesmo esquema também poderia
ser proposto para diversos portais, que estão começando a disponibilizar serviços de
grupos de cartórios na Web, como forma de padronização de suas estruturas de
intercâmbio eletrônico de dados entre os cartórios afiliados.
3.2 – Informações para futuros trabalhos na área
Pretende-se documentar bem a exepriência a ser obtida com o trabalho aqui
proposto, a fim de que seja de muita utilidade para os futuros trabalhos correlatos. A
razão disto está no fato de que a aplicabilidade do RDF ser uma prática muito
recente e não dispor de muitas experiências documentadas. Outro fato que reforça
esta observação é o elevado interesse da comunidade Web pela utilização do RDF,
como pode ser comprovado pelo crescimento de páginas que tratam do assunto no
último ano (Altavista - em dez/99: 21.681 páginas, em dez/2000: 78.544 páginas).
Portanto, cada vez mais a comunidade Web precisa de informações sobre o assunto
e, além disto, a documentação sobre experiências práticas com a implementação de
soluções é material muito valioso tanto no ambiente acadêmico como no profissional.
Como exemplo, em qualquer implementação de soluções baseadas no RDF, ou
genericamente relacionada com a interoperabilidade de dados no ambiente Web,
várias questões são importantes, como:
? metodologia para geração de esquemas;
? base de dados de suporte à solução;
? ferramentas de suporte à interoperabilidade;
? melhores práticas para a adoção de soluções de interoperabilidade.
16
Estas são alguns tópicos que o trabalho aqui proposto abordará e certamente são
relevantes para qualquer projeto correlato e para os pesquisadores da área.
3.3 - A aplicação prática final
Por fim, o produto final de trabalho, mesmo sendo um protótipo de aplicação que
materializa a interoperabilidade de dados nos domínios aqui tratados, poderá ser
utilizado por implementadores de aplicações Web para transformá-lo em produto final.
Os protótipos previstos deverão ser relevantes tanto para os projetos de sites de
classificados on-line, como os que disponibilizam serviços notariais na Web. Estes
últimos, provavelmente teriam mais interesse na solução apresentada neste trabalho,
pois os serviços notariais on-line estão na fase inicial de implantação no mercado.
Tais protótipos seriam mais úteis para portais que centralizam serviços de diversos
sites, pois deste modo teriam todo um ambiente otimizado para a interoperabilidade
dos dados e teriam as vantagens inerentes à especificação RDF.
4 – Metodologia
Para atingir os objetivos já traçados no decorrer deste documento, foi planejada a
seguinte metodologia, baseada no Rational Unifield Process (RUP), composta pelas
diversas fases/etapas a seguir descritas (tabela 01).
17
Domínio
Iteração
Fase
serviços de cartórios
classificados-on-line
Descrição/observação
Aplicações Web
Isoladas
Concepção
Basear-se nos serviços de cartórios
on-line já existentes e na legislação
brasileira.
Elaboração
Arquitetura em três camadas com interface Web e geração de páginas dinâmicas.
Construção
Utilizar ferramentas JAVA e banco de
dados relacional (SQL Server)
Transição
A distribuição da aplicação ficará restrita ao desktop de desenvolvimento.
Concepção
Utilizar a legislação brasileira sobre o
domínio e o levantamento de dados da
análise da fase anterior.
Interoperabilidade Elaboração
no mesmo
domínio
Construção
Transição
Iteração
Basear-se nos serviços de classificados
on-line já existentes e no DTD da NAA.
Utilizar ferramentas JAVA e banco de dados
objeto-relacional (Oracle 8i)
Utilizar DTD da NAA.
Arquitetura em três camadas com interface Web, geração de páginas dinâmicas e
interoperabilidade baseada no RDF.
Utilizar linguagem JAVA e
especificação RDF do W3C
Utilizar linguagem JAVA, especificação RDF
do W3C, e DTD da NAA.
A distribuição das aplicações vinculadas ao servidor WEB e servidor de Banco de
Dados será feita em servidor público para viabilizar os testes em situações reais.
Fase
Descrição/observação
Concepção
Utilizar esquemas RDF definidos na fase anterior.
Elaboração
Arquitetura em três camadas com interface Web, geração de páginas dinâmicas e
interoperabilidade baseada no RDF.
Interoperabilidade
entre os domínios Construção
Transição
Utilizar linguagem JAVA
A distribuição das aplicações vinculadas ao servidor WEB e servidor de Banco de
Dados será feita em servidor público para viabilizar os testes em situações reais.
Etapa
Descrição/observação
Consolidação
das
documentações
Consolidar todas as documentações produzidas a fim de que sirvam de base para a dissertação.
Elaboração do
texto final da
dissertação
Produzir o documento final da dissertação e elaborar a apresentação.
Defesa da
dissertação
Apresentar a defesa da dissertação
Tabela 01 – Metodologia para o desenvolvimento do Trabalho
18
5 - Cronograma
Para atender as fases citadas na metodologia do trabalho que será realizado, foi
elaborado o seguinte cronograma (tabela e figura 02):
Iteração/Etapa
Data de início
Data de fim
120
1/5/2001
15/10/2001
Interoperabilidade entre os domínios
60
30
16/10/2001
8/1/2002
7/1/2002
18/2/2002
Consolidação das documentações
15
19/2/2002
11/3/2002
Elaboração do texto final da dissertação
30
12/3/2002
22/4/2002
Defesa da dissertação
Tabela 02 – Cronogramas das Fases
1
23/4/2002
23/4/2002
Aplicações Web Isoladas
Interoperabilidade no mesmo domínio
Quant. Dias
Figura 02 – Cronogramas das Fases
19
6 – Apêndice - Metadados na Web e o Resource Description
Framework - RDF
6.1 - Introdução
Ao ser idealizada, a World Wide Web - WWW - foi inicialmente projetada visando
exclusivamente à interação homem-dados (LASSILA, 1999). Com sua ampla
utilização e o aumento em grande escala do conteúdo disponível, sentiu-se a
necessidade da informação ser processada pela máquina, a fim de que a interação
homem-dados fosse facilitada e otimizada. Para solucionar este problema, diversas
soluções foram sendo propostas com o tempo e cada uma atendia a uma
necessidade específica. Baseando-se nos resultados obtidos e na experiência com o
armazenamento e consulta de dados convencionais, constatou-se que a utilização de
metadados (dados acerca de um conjunto de dados) era uma das melhores
alternativas para possibilitar o processamento inteligente do conteúdo disponibilizado
na WEB. Resource Description Framework (RDF) é uma destas soluções baseadas
em metadados, cuja padronização foi promovida pelo World Wide Web Consortium W3C.
A utilização de metadados, para padronizar informação compartilhada, é anterior à
WWW (World Wide Web). Tal padronização foi inicialmente utilizada por bibliotecas
que necessitavam compartilhar seus catálogos e, desta necessidade, surgiram alguns
padrões de catalogação que ainda hoje são usados. A mesma necessidade de
compartilhamento de dados para catalogação de informações foi o ponto de partida
para a adoção de mecanismos de processamento de metadados na WEB.
Inicialmente as soluções foram baseadas na linguagem HTML, mas, devido as suas
limitações, outras alternativas surgiram, principalmente a partir da padronização da
linguagem XML.
20
Resource Description Framework - RDF - é uma aplicação da linguagem XML que
propõe ser uma base para o processamento de metadados na Web. Sua
padronização estabelece um modelo e sintaxe para representar, codificar e transmitir
metadados, com o objetivo de maximizar a interoperabilidade de dados de fontes
heterogêneas na WEB (LASSILA, 1999). Outro objetivo desejável é tornar possível a
especificação de semântica para base de dados em XML.
Além da especificação do modelo e sintaxe, também foi especificado o esquema
RDF. Tal esquema possibilita a declaração de propriedades do modelo, além de
mecanismos para definir as relações entre tais propriedades e outros recursos
(BRICKLEY, 2000). De modo genérico, um esquema RDF fornece informações para
que sejam interpretadas as sentenças de um modelo RDF.
Com a padronização, várias aplicações já estão utilizando-o na interoperabilidade de
dados e metadados. Isto evidencia sua característica de ser uma tecnologia com um
enorme campo de aplicação como será visto mais adiante. O W3C considera-o um
dos elementos chaves para a construção da “WEB confiável”.
Neste trabalho, a apresentação do Resource Description Framework será iniciada
com uma visão, um pouco histórica, do processo de gerenciamento de metadados na
WEB. Em seguida serão apresentados os conceitos e elementos do modelo e da
sintaxe RDF. Logo após, serão focados os elementos da especificação de um
esquema RDF e o trabalho será finalizado com uma visão geral das aplicações que
utilizam o RDF no presente cenário da WEB.
6.2 - Metadados na Web
Como já foi citado na introdução deste trabalho, a utilização de metadados na
padronização de informações compartilhadas teve início muito antes da existência da
Web. Desde a década de sessenta que grandes bibliotecas compartilham a
descrição de seus catálogos através de sistemas automatizados com a utilização de
21
metadados (BACA, 1998, p. 1). O padrão MARC (Machine-Readable Cataloging
Format), em conjunto com a lista de cabeçalhos de assuntos LCSH (Library of
Congress Subject Headings) foi uma iniciativa baseada em metadados que surgiu
nessa época. Com a ampla informatização de serviços e conteúdo, a utilização de
metadados foi ganhando cada vez mais importância devido à necessidade de facilitar
e aprimorar a recuperação da informação (CATHRO, 1997). A Internet e seu imenso
conteúdo evidenciaram ainda mais a necessidade de adoção de padrões para
metadados a fim de que a informação disponível na WEB fosse realmente útil, de
acesso rápido e interoperável. Neste processo de evolução dos sistemas de
informação, diversas iniciativas e acontecimentos relevantes ocorreram a fim de que
fosse montada uma arquitetura para tornar a WEB o espaço universal da informação
(BERNERS-LEE, 1999). A seguir, detalharemos tais iniciativas e acontecimentos que
contribuíram para a padronização de metadados na Web.
6.2.1 - SGML
Em 1967, William Tunnicliffe, presidente da Graphic Communications Association
(GCA) Composition Committee, durante um encontro no Canadian Government
Printing Office, defendeu a idéia de separar a informação, referente a conteúdo, do
formato dos documentos (WATSON, 1996). Ele foi o precursor do que mais tarde
seria a SGML (Standard General Markup Language), uma metalinguagem para
especificação de linguagens de marcações.
Uma marcação em um documento é tudo que não lhe acrescenta conteúdo.
No início, as marcações referiam-se às anotações feitas a mão pelos autores e
desenhistas e que seriam adicionadas ao texto escrito. Tais anotações eram
instruções repassadas ao digitador sobre a diagramação do texto. Porém, para que
essa idéia de marcação em documentos fosse transformada em um padrão genérico,
um longo caminho foi percorrido, como veremos a seguir.
22
Ainda na década de sessenta, Stanley Rice, um diagramador de livros de New York,
publicou um primeiro conjunto de marcações para estruturação de elementos de
publicações. O Graphic Communications Association (GCA) aproveitou a idéia e
instituiu o GCA GenCode Committee. O GenCode definiu um método genérico de
marcação baseado na hierarquia de documentos que possibilitou à IBM a criação da
GML - Generalized Markup Language (WATSON, 1996), também inspirada no
método nas idéias de Rice and Tunnicliffe.
Na década de setenta, Charles F. Goldfarb propôs uma linguagem de marcação
genérica baseada no princípio de que a marcação deveria descrever a estrutura de
um documento ao invés de descrever suas características físicas, além de ser rígida o
bastante para não permitir ambigüidades. Em 1978, um grupo de trabalho da ANSI foi
formado para dar início à padronização de uma linguagem genérica de marcação,
baseando-se as experiências anteriores e principalmente na GML. Neste trabalho,
vários conceitos de metadados foram inseridos na linguagem proposta como:
? marcações
referente ao conteúdo que
poderiam ser identificadas por
mecanismos de pesquisa de banco de dados (<title>, por exemplo);
? estabelecimento
de ordem na qual os objetos apareceriam em um documento (To
antes de FROM em uma mensagem, por exemplo);
?a
funcionalidade de inclusão de arquivos de cabeçalhos, estes definidos à parte,
(idéia aproveitada das linguagens de programação).
No início da década de oitenta foi publicada a primeira versão da SGML pela ANSI e
em 1983 o padrão foi adotado pelo “Internal Revenue Service” e pelo Departamento
de Defesa dos USA, quando também foi publicada a sexta versão. Em 1984 a ISO
juntou-se ao grupo de trabalho e já em 1986 a SGML foi aprovada como o padrão
internacional ISO 8879.
No conceito da SGML, um documento possui três camadas: estrutura, conteúdo e
estilo (ABORTEX, 1992). A estrutura de um documento SGML é definida por um
conjunto de informações chamada de Document Type Definition - DTD. Estas
informações podem ser agregadas ao documento ou separadas dele (em um arquivo
23
à parte, por exemplo). O DTD descreve toda a estrutura do documento, as relações e
regras entre seus elementos. Por exemplo, descreve os capítulos, títulos dos capítulos,
seções e tópicos; uma regra em que um título de capítulo deve ser o primeiro
elemento ao ser iniciado um novo capítulo, etc. O conteúdo é a informação presente
no documento e está sempre envolvido por marcações que determinam o início e fim
de uma determinada parte da estrutura (<section><subhead>Informação do
Texto</subhead> ... </section>). Quanto ao estilo, foi tratado por uma norma
específica (ISO/IEC 10179:1996) denominada DSSSL (Document Style Semantics
and Specification Language).
Cada linguagem de marcação definida através da SGML é chamada de aplicação
SGML e geralmente é caracterizada por:
?
Uma declaração SGML que especifica quais caracteres e delimitadores
podem aparecer na aplicação;
?
Um Document type definition (DTD) que define a sintaxe de construção
das marcações. O DTD pode incluir definições adicionais tais como
entidades de caracteres de referência (definição de caracteres
especiais como letras acentuadas).
?
Uma especificação que descreva a semântica a ser atribuída à
marcação. Esta especificação impõe também as limitações da sintaxe
que não podem ser expressas no DTD.
?
Instâncias de um documento que contêm os dados (conteúdo) e as
marcações. Cada instância contém uma referência ao DTD a ser usado
para interpretá-la (W3C, 1999).
A principal contribuição da SGML, além do fato de ser uma metalinguagem de
marcação, foi a concepção de metadados representada pelo DTD. Através dele, um
único ou um conjunto de documentos podem ser definidos e/ou estruturados. Este
conceito foi muito bem utilizado na definição da linguagem XML, como ainda será
visto neste trabalho.
24
6.2.2 - HTML
A linguagem HTML surgiu com a WWW e a necessidade de um browser para
navegação nos seus recursos. Em 1990, Tim Berners-Lee desenvolveu o primeiro
Web Browser que, na primeira versão, possibilitava apenas a visualização de texto.
Sentindo a necessidade de uma linguagem para a formatação de conteúdo que
pudesse ser lida pelos browsers, Berners-Lee desenvolveu a HTML que consistia de
um pequeno subconjunto de elementos predefinidos baseado na linguagem SGML.
Toda a codificação e especificação foi disponibilizada na Internet em 1991 e
aproveitada por Marc Andreesen e Eric Bina no desenvolvimento do primeiro browser
para ambiente gráfico, o Mosaic. A partir daí, seu uso foi intensificando-se na
comunidade Web em função de sua simplicidade. Tornou-se um padrão oficial em
1995 através do W3C (HTML 2.0) mas foi constantemente aprimorada com diversas
extensões e atualmente encontra-se na versão 4.01 com inúmeras implementações
que não estavam presentes em sua versão inicial (W3C, 2001).
O propósito inicial da linguagem HTML era a publicação de hypertexto na Web, mas,
com sua ampla aplicação, foram evidenciadas necessidades que desencadearam
muitos aprimoramentos como: suporte a formulários para entrada de dados; inclusão
de vídeo, planilhas, sons e diversos elementos de outras aplicações no documento;
suporte a execução de aplicativos Java e integração com a linguagem XML (XHTML).
Sem dúvida, quase a totalidade dos documentos publicados na Web são descritos
nesta
linguagem,
popularizada principalmente
após
o
desenvolvimento
de
ferramentas que atutomatizaram a construção de documentos HTML, sem a
necessidade do conhecimento da linguagem por parte do autor.
25
Um documento HTML é composto de três partes: uma linha contendo a versão da
linguagem; uma seção de declaração de cabeçalho delimitada pelo elemento HEAD
e o corpo do documento que contém o conteúdo a ser publicado, delimitado pelo
elemento BODY. Do ponto de vista da estruturação do documento para recuperação e
identificação de suas informações pelos sistemas de busca, a linguagem dispõe de
dois elementos de descrição de metadados que fazem parte da seção de declaração
do cabeçalho: TITLE, para descrição do título do documento (<title>A História da
Humanidade</title>), e META, para descrição de metadados do documento definidos
por seu autor (<META name="Autor" content="João Medeiros">). A informação do
título é importante, pois resume o conteúdo do documento e nele normalmente estão
suas palavras-chaves. As informações de metadados também são importantes, pois
podem conter todos os dados, referente ao documento, que são descritos pelo autor,
como: assunto, nome do autor, tipo de documento, língua, data de publicação, direitos
de autoria, etc. Além disto, o próprio texto do corpo do documento pode ser analisado
pelos sistemas de busca com a finalidade de identificar a palavra-chave solicitada por
um usuário (<body> Existe diversas teorias acerca da orígem do homem na
....</body>).
O elemento META, por descrever metadados, merece uma atenção especial e sua
definição em um documento HTML normalmente envolve dois passos. O primeiro é a
declaração das propriedades e seus respectivos valores. Esta declaração pode ser
feita no próprio documento, dentro do elemento META (<META name="DC.identifier"
content="http://www.ietf.org/rfc/rfc1866.txt">) ou fora dele, através do elemento LINK
referenciando a declaração feita em outro documento (<LINK rel="DC.identifier"
type="text/plain"
href="http://www.iet.org/rfc/rfc1866.txt">). O
segundo passo
é
indicação de uma referência da descrição efetuada a um perfil de metadados
(atributo "profile" no elemento HEAD) onde as propriedades e seus valores legais são
definidos (<HEAD profile="http://www.acme.com/profiles/core">).
26
Os seguintes atributos têm a interpretação dependente do perfil de metadados
indicado no documento: "name" - identifica o nome da propriedade; "content" especifica o valor da propriedade; "schema" - nomeia um esquema para ser usado na
interpretação do valor da propriedade; "http-equiv" - pode ser usado no lugar do
atributo "name" mas tem utilização especial em servidores HTTP na recuperação de
documentos com este protocolo. A seguir é mostrada um exemplo de utilização do
elemento META:
<HEAD>
<TITLE>A moda no século XX</TITLE>
<META name="description" content="Uma breve descrição do
que ocorreu no mundo da moda no século XX.">
<META name="keywords" content="moda, vestuário, roupa,
modelos">
</HEAD>
O autor de um documento HTML tem total liberdade para definir as propriedades e
valores no elemento META, mas o significado destas propriedades somente definem
um conjunto legal de metadados se houver referência léxica a um perfil de metadados,
especificado pelo atributo "profile". Por exemplo, um perfil estabelecido para auxiliar a
indexação dos sistemas de busca deve conter as propriedades "author", "copyright",
"keywords", "description", "subject", "lang", "date", etc. É a utilização destas
propriedades que permitem a estes sistemas filtragens a fim de melhorar a qualidade
dos resultados.
A Plataforma para Seleção de Conteúdo na Internet (PICS - Platform for Internet
Content Selection, especificada pelo W3C), é uma infra-estrutura para associação de
marcações de metadados com o conteúdo na Internet. Seu desenvolvimento foi
planejado inicialmente para ajudar pais e professores no controle do material
acessado por filhos e alunos na Web. Porém, a mesma plataforma possibilita suporte
a outros serviços como o gerenciamento de direitos de propriedade intelectual e
privacidade. Esta infra-estrutura utiliza-se do elemento META para a inclusão de suas
declarações em documentos HTML, conforme o exemplo a seguir (W3C, 1999), mas
já há proposta para que seja descrita através do Resource Description Framework
(RDF).
27
<HEAD>
<META http-equiv="PICS-Label" content='
(PICS-1.1 "http://www.gcf.org/v2.5"
labels on "1994.11.05T08:15-0500"
until "1995.12.31T23:59-0000"
for "http://w3.org/PICS/Overview.html"
ratings (suds 0.5 density 0 color/hue 1))
'>
<TITLE>... document title ...</TITLE>
</HEAD>
Como foi visto, a linguagem HTML dispõe de mecanismo simples para definição de
metadados, mas que não é muito abrangente. Relacionamentos complexos, com
hierarquia de propriedades por exemplo, não podem ser representados com os
atributos do elemento META. São disponibilizados apenas um conjunto mínimo de
recursos que, mesmo assim, são muito úteis para o gerenciamento de metadados na
Web.
Com a grande aceitação da linguagem XML, a comunidade Web questionou porque
não combinar a simplicidade da linguagem HTML com a flexibilidade da XML. Com a
atuação do W3C, foi desenvolvida a linguagem XHTML para atender esta
necessidade, reformulando a HTML 4 como uma aplicação XML a fim de tornar a
linguagem HTML modular e extensível. Um dos grandes benefícios esperados com
tais mudanças é quanto à modularização que permitirá a definição de "versões"
simplificadas, baseando-se nos DTDs, para atender à tecnologias específicas como
a de livros eletrônicos, telefonia móvel celular, eletrodomésticos, etc. A seguir é
ilustrado um exemplo de um documento XHTML (RICHMOND, 2000):
1: <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
2: <html
xmlns="http://www.w3.org/1999/xhtml">
3: <head>
3:
<title>Minimal document</title>
5: </head>
6: <body>
7: <p>
8:
<a href="http://validator.w3.org/check/referer">
validate</a>
9: </p>
10:</body>
11:</html>
28
A numeração das linhas não fazem parte da especificação XHTML. Servem apenas
para a explicação do conteúdo, conforme abaixo:
1: especifica o tipo de documento.
2: declara que este é um documento HTML e declara um espaço de nomes XML.
3: abre o cabeçalho.
4: especifica o título do documento.
5: fecha o cabeçalho.
6: body contains the document's displayable content.
7: inicia o parágrafo.
8: especifica uma ancora para o validador do W3C.
9: fecha o parágrafo.
10: fecha o corpo do documento.
11: fecha o documento html.
Os benefícios e características da linguagem XML serão tratados no próximo tópico.
6.2.3 - Xml
A linguagem XML foi criada em 1996 por um grupo formado pelo W3C, liderado por
Jon Bosak da Sun Microsystems, que desejavam trazer para a Web o máximo de
funcionalidade da linguagem SGML. Em 1997 foi realizada a primeira conferência
sobre XML, em San Diego, CA (EUA), em que foi apresentado o paper histórico de
Jon Bosak
- "XML, Java, and the future of the Web". Nele era evidenciada as
principais características da linguagem: os autores de documentos XML poderiam
definir novas marcações e atributos; a estrutura do documento poderia ser aninhada
em qualquer nível de complexidade; qualquer documento XML poderia conter uma
descrição opcional de sua gramática para uso de aplicações que necessitam
executar uma validação estrutural (BOSAK, 1997). Frequentemente é citado que a
linguagem XML tem 80% da funcionalidade da SGML e somente 20 % de sua
complexidade. Enquanto a HTML era um subconjunto mínimo e específico da SGML,
com a função principal de formatar conteúdo para a Web, a XML é uma simplificação
da SGML, mas com a maior parte de sua funcionalidade, especialmente a
capacidade de estruturar ou semi-estruturar dados. A funcionalidade de descrever
conteúdo para a Web é justamente o ponto mais importante desta linguagem. Ela
29
permite uma especificação que facilita a troca de dados e a reutilização por múltiplas
aplicações na Web (ABITEBOUL, 2000).
Em um documento XML há os seguintes componentes e conceitos:
?
Uma declaração XML é a estrutura que descreve os elementos sintáticos da
linguagem.
Uma declaração de marcação obrigatória consiste na
informação que identifica: a linguagem utilizada no documento (XML), a
versão utilizada e, opcionalmente, uma identificação de codificação do
conjunto de caracteres utilizado no documento (<?xml version=”1.0”
encoding=”iso-8859-1”?>);
?
O elemento é a estrutura XML (hierárquica ou não) que descreve um dado,
ao contrário da HTML que descreve o formato de um conteúdo
(<nome>Maria Fonseca Dias</nome>). Os elementos, também chamados
de contêineres de dados, podem ser definidos no próprio documento XML
ou separadamente em um DTD (Document Type Definition) da seguinte
forma: <!ELEMENT nomeElemento conteúdo> (PITT-MOULTIS, 2000: 32);
?
Os atributos são conjunto de informações no formato nome=”valor” que
caracterizam um elemento (<title language=”english”>My life</title>). Como
os elementos, também podem ser definidos separadamente em um DTD
(Document Type Definition) da seguinte forma: <!ATTLIST nomeElemento
nomeAtributo tipo padrão (nomeElemento nomeAtributo tipo padrão ...)>.
?
Um dado de caracteres é o conteúdo de um elemento (WILLIAMS, 2000:
869). No exemplo <nome>Maria Fonseca Dias</nome>, “Maria Fonseca
Dias” é o dado de caracteres do elemento “nome”;
?
Entidade é qualquer unidade de dado de caracteres que se quer referir em
um documento para evitar repetição ou para incluir caracteres especiais
(“&gt” é uma referência ao caractere “>” para não ser confundido com a
marcação do documento). Podem ser internas, referenciadas no próprio
documento, ou externas, via URI (Universal Resource Information);
?
Instruções de processamento são declarações que têm a finalidade de
informar instruções especiais de processamento. Devem estar contidas
30
entre caracteres “?”. A declaração de marcação obrigatória <?xml
version=”1.0” encoding=”iso-8859-1”?> é uma instrução de processamento;
?
Comentários em XML, como em todas as linguagens, servem para
anotações particulares do autor e que não interferem na estrutura ou
significado dos demais componentes do documento. Devem ser iniciados
pela sequência “<!--” e concluídos com “-->” (<!-- documento criado em
24/02/2001 -->);
?
Espaço de nomes (Namespaces) é o mecanismo da linguagem que
possibilita aos desenvolvedores a criação de vocabulários específicos
(nome de elementos comuns a determinado domínio) com a finalidade de
ser compartilhado em diversos documentos XML. A referência aos espaços
de nomes é feita via URI (Universal Resource Information);
?
DTD (Document Type Definition) é a descrição de um conjunto de regras
para um ou vários documentos XML. Pode ser definido no próprio
documento em separadamente. Na prática, o DTD é um
esquema de
metadados para documentos XML. Se um documento obedece às regras
de um DTD, é chamado de “válido”, caso contrário, pode ser chamado de
“bem formado” se apenas obedece às regras da sintaxe XML. Os seguintes
recursos são definidos em um DTD:
?
os tipos de elementos que serão permitidos;
?
as diversas características de cada tipo de elemento com os
atributos usados e o conteúdo que cada elemento pode ter;
?
as notações que o documento pode conter;
?
as entidades que podem ser usadas;
Exemplo de um documento XML e um DTD que define as regras para a
catalogação de livros de uma livraria:
------------------------------------------------------------------Código do documento XML que faz referência ao DTD bib.dtd
------------------------------------------------------------------<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE bib SYSTEM "bib.dtd">
<bib>
<book>
<author>Leslie Lamport</author>
31
<title>Latex: A Document Preparation System </title>
<year>1986</year>
<publisher>Addison-Wesley</publisher>
</book>
<article>
<author>David Marr</author>
<title>Visual information processing</title>
<year>1980</year>
<volumn>290</volumn>
<page>
<from>199</from>
<to>218</to>
</page>
<journal>Phil. Trans. Roy. Soc. B</journal>
</article>
</bib>
------------------------------------------------------------------Código do DTD (bib.dtd)
------------------------------------------------------------------<?xml version="1.0" ?>
<!ELEMENT bib ( (book | article)+)>
<!ELEMENT book ( author, title, year, (address)?, publisher )>
<!ELEMENT article ( author, title, year, volumn, page, journal) >
<!ELEMENT page (from, to)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT journal (#PCDATA)>
<!ELEMENT volumn (#PCDATA)>
-------------------------------------------------------------------
Uma especificação particular do W3C para a tecnologia XML, ligada ao conceito de
metadados, é a que trata de esquemas XML (XML Schemas). A primeira vista, um
esquema XML seria uma alternativa mais rica e poderosa para validação de
documentos XML. Na verdade, esquemas XML são mais robustos nesta tarefa e
expressam vocabulários que podem ser compartilhados e permitem a automatização
de regras definidas para um determinado domínio. O propósito do esquema é definir
uma classe de documentos XML. Eles provêm um meio para a definição de estrutura,
conteúdo e semântica de documentos (W3C, 2001). Diferentemente do DTD, um
esquema XML possui as seguintes características, detalhadas em (WILLIAMS,
2000:148):
32
?
suporta tipos de dados (primitivos e derivados);
?
descreve modelos de conteúdos que possibilitam a reutilização de
elementos via herança (admitem cardinalidade e possibilitam a criação de
modelos complexos de conteúdo);
?
é extensível ( um esquema pode referir-se a outros esquemas);
?
possui mecanismos para a montagem de esquemas dinâmicos;
?
possui capacidades de auto-documentação quando é aplicada uma folha de
estilo (Style Sheet).
Como foi visto, a linguagem XML é um meio conveniente para a descrição de
diferentes tipos de informações, tanto numéricas como textual, de um modo
estruturado, único e eventualmente auto-descritível (CHAUDHRI, 2001: 98). Possui
uma sintaxe adequada para a descrição de dados semi-estruturados, através de
árvores ou grafos, com algumas inconveniências tratadas em (ABITEBOUL, 2000:
31). O gerenciamento de metadados pode ser feito de uma maneira simples, via
DTD, ou através de um esquema XML, método mais genérico, poderoso e mais
próximo dos esquemas de banco de dados relacionais (WILLIAMS, 2000: 143).
6.2.4 – Warwick Framework e MFC
O Warwick Framework é uma arquitetura modular para agregação de diferentes tipos
de metadados e influenciou muito o desenvolvimento do Resource Description
Framework (RDF). Foi proposto pelo Digital Library Research Group da Cornell
University e foi o resultado do Warnick Workshop realizado em abril de 1996 em
Warwick, Inglaterra. Este workshop fez parte de uma série de eventos, chamados de
Dublin Core Workshops, iniciados em 1995 quando foi produzido o conjunto inicial
dos treze elementos essenciais de metadados do Dublin Core (DC), posteriormente
aprimorado para quinze elementos. Foi constatado que um simples conjunto de
elementos, como o DC, não atenderia todas as possíveis necessidades de
representação de metadados. Era preciso uma infra-estrutura genérica e o Warwick
33
Framework atendia a este requisito. Nele há dois componentes fundamentais: o
“container” (unidade para agregação dos conjuntos de metadados) e “packages”
(conjuntos de metadados tipados) (LAGOZE, 1996). Com estes componentes, o
framework introduziu o conceito de modularidade em metadados que permite a
criação e manutenção de pacotes de metadados por diferentes domínios.
Outro framework que influenciou o desenvolvimento do RDF foi o Meta Content
Framework (MFC). Trata-se de uma especificação para um modelo de dados
destinado a descrição de metadados para coleções de informações (GUHA, 1997).
Possui uma sintaxe para a representação de instâncias do modelo, descrita em XML,
e usa um modelo de grafos direcionados de nós e arestas para construir o modelo
conceitual (MOHR, 1999). Foi desenvolvido por Tim Bray (Textuality) e R.V. Guha
(Netscape Communications) e submetido ao W3C em 1997 pela Netscape mas não
obteve sucesso na padronização.
6.2.5 – MDC e o OMG
Além do W3C (World Wide Web Consortium), que lidera a especificação de
tecnologias de interoperabilidade na WEB, principalmente quanto a padronização, há
também outras organizações não governamentais e sem fins lucrativos com esta
mesma linha de atuação. Uma das mais importantes é a MetaData Coalition
(http://www.mdcinfo.com/index.html) que agrega cerca de cinquenta empresas do
ramo de software e usuários finais com uma finalidade comum de desenvolver um
formato padrão de intercâmbio de metadados e os seus mecanismos da sustentação.
Foi criado em 1995 como uma instituição independente, mas atualmente está em
processo de fusão com o Object Management Group (OMG). Seu principal projeto de
padronização foi o MetaData Interchange Specification (MDIS), criado em 1996, e
serve de base para outros projetos do mesmo consórcio, como o Open Information
Model (OIM) que é específico para data warehousing. Com a fusão com o OMG, o
OIM será integrado o Common Warehouse Metamodel (CWM), um projeto como o
mesmo propósito já desenvolvido pelo OMG.
34
O Object Management Group (OMG) é outra organização de grande relevância na
área e que já contribuiu com importantes iniciativas como o Common Object Request
Broker Architecture (CORBA) e na especificação da Unified Modeling Language
(UML). Desde 1995 o OMG desenvolveu um projeto de gerenciamento de metadados
denominado Meta Object Facility (MOF), mas somente foi especificado em 1997
quando reuniu no modelo os conceitos da UML e CORBA. Deste modelo foi derivada
outra especificação denominada XML Metadata Interchange (XMI) com a utilização da
linguagem XML. No início deste ano, o OMG divulgou um projeto que pretende
unificar todos as tecnologias sob sua responsabilidade: a Model Driven Architecture
(MDA). Esta arquitetura, baseada em um modelo independente de plataforma e
fornecedor, pretende reunir todas as tecnologias emergentes para oferecer soluções
de interoperabilidade em todos os níveis.
6.3 - Resource Description Framework
O Resource Description Framework - RDF foi inicialmente proposto ao W3C em
outubro de 1997, mas somente tornou-se recomendação aprovada em fevereiro de
1999. Foi desenvolvido através de um trabalho conjunto de diversos membros do
W3C, inicialmente a partir da necessidade de generalizar o framework para
metadados que dava suporte à PICS (Platform for Internet Content Selection).
Também foi muito influenciado pelo Meta Content Framework (MFC) da Netscape e o
Dublin Core/Warwick Framework, como já foi citado anteriormente.
O framework tem duas especificações distintas: uma geral (RDF Model and Syntax
Specification) e outra mais específica (RDF Schema Specification). O modelo e
sintaxe RDF caracterizam uma linguagem declarativa que estabelece uma norma
para o uso de XML na representação de metadados na forma de declarações sobre
propriedades e relacionamentos de itens na Web (W3C, 2000). O esquema RDF é
um framework através do qual comunidades independentes podem desenvolver
35
vocabulários que satisfaçam suas necessidades específicas e possam compartilhar
estes vocabulários com outras comunidades. A especificação dos esquemas RDF
ainda está como recomendação candidata, embora já esteja sendo implementada.
Os conceitos básicos do modelo concentram-se em três tipos de objetos:
?
recursos podem ser tudo que possa ser nomeado com uma URI (Universal
Resource Identifier): um documento, uma coleção de documentos, um site,
uma parte de um documento, etc. Isto possibilita ao RDF descrever quase
tudo na Web;
?
propriedades são os atributos dos recursos e podem ter restrições que
definem os tipos de recursos em que podem ser aplicadas: sua faixa de
valores e tipos possíveis e o seu relacionamento com outras propriedades;
?
uma sentença é a combinação de um recurso (sujeito), a propriedade de
um recurso (predicado) e o valor da propriedade (objeto). Um objeto pode
ser um ou vários valores literais ou até mesmo recursos.
Através de um exemplo simples, citado no Metadata Activity Statement (W3C, 2000),
é possível demonstrar os conceitos acima citados. Neste exemplo, reproduzido
abaixo, o RDF está sendo usado para expressar dados sobre o prospecto de
apresentação do W3C que está disponível on-line. Os metadados sobre este item na
Web estão descritos através de uma coleção de propriedades e, para fazer esta
descrição, é utilizada a linguagem XML conforme abaixo:
(1) <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
(2)
xmlns:dc="http://purl.org/dc/elements/1.1/">
(3) <Description about="http://www.w3.org/Press/99Folio.pdf">
(4) <dc:title>The W3C Folio 1999</dc:title>
(5) <dc:creator>W3C Communications Team</dc:creator>
(6) <dc:date>1999-03-10</dc:date>
(7) <dc:subject>Web development, World Wide Web
(8) Consortium, Interoperability of the Web</dc:subject>
(9) </Description>
(10)</RDF>
36
A linha (1) declara que todo o bloco (<RDF ...> xxx </RDF>) é uma expressão RDF e
usa o formato definido pela especificação do modelo e sintaxe RDF que está na URI
citada.
A linha (2) indica onde está localizada a aplicação RDF que define o vocabulário
usado. A localização dada (http://purl.org/dc/elements/1.1/) refere-se ao Dublin Core,
vocabulário associado com informação bibliográfica (vide o tópico “Aplicações do
RDF”). O atributo xmlns (espaço de nomes da linguagem XML) associa o prefixo “dc”
com o endereço Web do Dublin Core. Consequentemente, as declarações RDF
devem fazer uso deste código para indicar que se refere a um conjunto particular de
propriedades RDF e sua respectiva gramática (esquema RDF);
Na linha (3), o tag de descrição é usado para indicar exatamente qual recurso da
Web terá seus metadados descritos. A linha diz que o metadado “descrição” trata do
recurso http://www.w3.org/Press/99Folio.pdf, que é o prospecto de apresentação do
W3C disponibilizado on-line.
As linhas seguintes são as demais sentenças RDF que descrevem as outras
propriedades e seus respectivos valores do recurso, ou seja, os metadados (título,
autor, data e assunto). A partir destas sentenças acima reproduzidas, qualquer
aplicação que analise o texto pode deduzir o seguinte: O W3C Communications
Team
criou
em
10/03/1999
o
documento
localizado
na
URI
http://www.w3.org/Press/99Folio.pdf, cujo título é “The W3C Folio 1999” .
Um modelo RDF também pode ser representado através de um grafo de arestas
rotuladas. Os nós são os recursos, as arestas são as propriedades e o elemento
terminal, representado por um retângulo, representa o valor da respectiva
propriedade. O exemplo acima citado pode ser representado através de um grafo da
seguinte maneira (Fig 03):
37
http://www.w3.org/Press/99Folio.pdf
Subject
Date
1999-03-10
Title
Creator
Web development,
World Wide Web
Consortium,
Interoperability of
The W3C Folio 1999
the Web
W3C Communications Team
Fig. 03 – Representação do modelo RDF através de grafo.
Quanto aos esquemas RDF, definem o significado, características e relacionamentos
do conjunto de propriedades, inclusive restrições de valores e herança de
propriedade de outros esquemas. Como foi visto acima, a linguagem RDF possibilita
a indicação, através do endereço Web, dos vocabulários de metadados que serão
usados. A linguagem de especificação do esquema é uma linguagem de
representação
declarativa
influenciada
pelas
idéias
da
representação
do
conhecimento, pelas linguagens de representação de esquemas de banco de dados
e por modelos de dados representados por grafos. Um dos mais conhecidos
esquemas é o Dublin Core, utilizado acima, que foi criado pela comunidade ligada a
biblioteconomia. Somente para fins ilustrativos, pois mais adiante será tratado com
mais detalhes, parte do esquema RDF do Dublin Core é reproduzida (detalhe da
propriedade “title”):
<RDF:Schema ID="DC">
<RDF:Name xml:lang="en">Dublin Core V1.0</RDF:Name>
<RDF:Description xml:lang="en">The Dublin Core element set
provides simple resource discovery attributes</RDF:Description>
38
<RDF:Property ID="Title">
<RDF:Type>String</RDF:Type>
<RDF:Name xml:lang="en">Title</RDF:Name>
<RDF:Description
xml:lang="en">The
title
of
the
resource</RDF:Description>
<RDF:Mandatory>False</RDF:Mandatory>
<RDF:Bag>True</RDF:Bag>
</RDF:Property>
...
</RDF:Schema)
Como duas aplicações poderiam utilizar o mesmo conjunto de tags, foi utilizado o
conceito de espaço de nomes (namespaces) da linguagem XML. Isto permite que
seja referenciado um vocabulário RDF particular (esquema) que valida as
declarações referente ao espaço de nomes utilizado.
O RDF tem um amplo campo de utilização. No tópico “aplicações do RDF” estão
relacionadas algumas aplicações reais, mas, de uma maneira geral, o framework
pode ser utilizado em qualquer tipo de aplicação em que a interoperabilidade de
metadados é relevante. Por exemplo:
?
taxonomia;
?
mapeamento de sites;
?
descrição de conteúdo de páginas Web;
?
descrição de políticas de privacidade;
?
descrição de capacidade de dispositivos;
?
sistemas de medição de audiência;
?
gerenciamento de metadados;
?
assinaturas digitais.
39
6.3.1 – Sintaxe básica
A sintaxe para descrever um modelo de dados RDF é expressa em XML e utiliza-se
de espaços de nomes (namespaces XML) para associar precisamente cada
propriedade com o esquema que a define. A especificação do modelo e sintaxe RDF
(http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/) estabeleceu a sequinte forma
de serialização das sentenças RDF (sintaxe básica) na notação Backus-Naur
Extendida (EBNF):
[1] RDF
[2] description
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
idAboutAttr
aboutAttr
idAttr
propertyElt
propName
value
resourceAttr
Qname
URI-reference
IDsymbol
name
NSprefix
string
::= ['<rdf:RDF>'] description* ['</rdf:RDF>']
::= '<rdf:Description' idAboutAttr? '>' propertyElt*
'</rdf:Description>'
::= idAttr | aboutAttr
::= 'about="' URI-reference '"'
::= 'ID="' IDsymbol '"'
::= '<' propName '>' value '</' propName '>'
| '<' propName resourceAttr '/>'
::= Qname
::= description | string
::= 'resource="' URI-reference '"'
::= [ NSprefix ':' ] name
::= string, interpreted per [URI]
::= (any legal XML name symbol)
::= (any legal XML name symbol)
::= (any legal XML namespace prefix)
::= (any XML text, with "<", ">", and "&" escaped)
O elemento “RDF” marca os limites do documento XML que contém a descrição de
um modelo de dados RDF e é opcional, se o conteúdo puder ser interpretado através
do contexto da aplicação. O elemento “Description” contém os elementos que
possibilitam a criação de sentenças em uma instância do modelo. Pode expressar
apenas o lugar onde localiza-se a identificação do recurso (como no exemplo já
citado) ou pode referir-se a várias sentenças que serão declaradas. No nosso
exemplos simples do Dublin Core, acima citado, podemos identificar os seguintes,
como exemplo:
?
?
RDF: (o documento completo)
description*:
<Description about="http://www.w3.org/Press/99Folio.pdf">
40
<dc:title>The W3C Folio 1999</dc:title>
<dc:creator>W3C Communications Team</dc:creator>
<dc:date>1999-03-10</dc:date>
<dc:subject>Web development, World Wide Web
Consortium, Interoperability of the Web</dc:subject>
</Description>
?
?
?
?
?
?
iDAboutAttr?: about="http://www.w3.org/Press/99Folio.pdf"
aboutATTR: about="http://www.w3.org/Press/99Folio.pdf"
URI-reference: "http://www.w3.org/Press/99Folio.pdf"
propertyElt*:<dc:title>The W3C Folio 1999</dc:title>
propName: dc:title
value: The W3C Folio 1999
A especificação do modelo e sintaxe (http://www.w3.org/TR/1999/REC-rdf-syntax19990222) também faz referência a uma forma de serialização abreviada que inclui
termos adicionais para proporcionar uma forma mais resumida de representação de
um subconjunto do modelo de dados. A sintaxe básica citada acima, com apenas
quinze elementos, conta apenas com os elementos essenciais da gramática RDF. No
documento de especificação do W3C, há uma gramática formal completa, na notação
EBNF, composta de trinta e quatro elementos.
6.3.2 – Contêineres
Quando é necessário referir-se a coleções de recursos, a gramática RDF dispõe de
um objeto para atender a esta necessidade: os contêineres. São utilizados para
manter listas de recursos ou valores. Por exemplo:
?
pode ser preciso informar que um determinado documento foi criado por
mais de uma pessoa;
?
para enumerar estudantes de um curso;
?
para referir-se a módulos de um software.
São definidos três objetos do tipo contêiner:
?
bag – lista desordenada utilizada para indicar que uma propriedade tem
múltiplos valores, cuja ordenação não é significativa e pode haver elementos
repetidos;
41
?
sequence – lista ordenada em que a ordem dos elementos é significativa e
pode haver repetição;
?
alternative – lista de recursos ou literais que representam alternativas para
um valor de uma propriedade e, portanto, não admite repetição de
elementos.
A notação EBNF para os cointêineres é a seguinte:
[18]
[19]
[20]
[21]
[22]
[23]
[24]
container
sequence
bag
alternative
member
referencedItem
inlineItem
::=
::=
::=
::=
::=
::=
::=
sequence | bag | alternative
'<rdf:Seq' idAttr? '>' member* '</rdf:Seq>'
'<rdf:Bag' idAttr? '>' member* '</rdf:Bag>'
'<rdf:Alt' idAttr? '>' member+ '</rdf:Alt>'
referencedItem | inlineItem
'<rdf:li' resourceAttr '/>'
'<rdf:li>' value '</rdf:li>'
Seu uso está relacionado com as seguintes notações EBNF não incluidas na sintaxe
básica:
[1a] RDF
[8a] value
[25] obj
::= '<rdf:RDF>' obj* '</rdf:RDF>'
::= obj | string
::= description | container
O seguinte exemplo ilustra o uso:
<rdf:RDF>
<rdf:Description about="http://univ.edu/curso/546">
<s:alunos>
<rdf:Bag>
<rdf:li resource="http://univ.edu/alunos/Carlos"/>
<rdf:li resource="http://univ.edu/alunos/Ana"/>
<rdf:li resource="http://univ.edu/alunos/Laura"/>
<rdf:li resource="http://univ.edu/alunos/Beto"/>
<rdf:li resource="http://univ.edu/alunos/Diva"/>
</rdf:Bag>
</s:alunos>
</rdf:Description>
</rdf:RDF>
A semântica deste documento RDF é a seguinte: os alunos do curso 546 são Carlos,
Ana, Laura, Beto e Diva.
42
6.3.3 – Sentenças sobre sentenças
Além de possibilitar a declaração de sentenças sobre recursos, o RDF também
permite a declaração de sentenças sobre sentenças. Estas são chamadas de
sentenças de alto nível (higher-order statements) e são contruídas a partir de um
modelo da sentença original. Portanto, um modelo de uma sentença é o recurso
necessário para que se possa fazer uma nova declaração sobre a sentença
modelada. Para exemplificar, utilizando o exemplo da especificação do modelo e
sintaxe RDF (http://www.w3.org/TR/REC-rdf-syntax/), a afirmação “Ora Lassila é a
criadora do recurso http://www.w3.org/Home/Lassila” é uma sentença RDF simples,
pois tem um recurso (sujeito - http://www.w3.org/Home/Lassila), a propriedade de um
recurso (predicado – que criou) e o valor da propriedade (objeto - Ora Lassila).
Porém, para a afirmação “Ralph Swick disse que Ora Lassila é a criadora do recurso
http://www.w3.org/Home/Lassila”, não podemos dizer o mesmo pois é uma sentença
sobre a primeira. Para representa-la em RDF será preciso modelar a primeira
sentença com quatro propriedades (não definidas na gramática):
?
subject – identifica o recursos que descreve a sentença modelada, ou seja,
o valor da propriedade subject é o recurso sobre o qual a sentença original
foi feita (no exemplo: http://www.w3.org/Home/Lassila);
?
predicate – identifica a propriedade original na declaração modelada, ou
seja, o valor da propriedade predicate é um recurso que representa a
propriedade específica na sentença original (no exemplo: criadora);
?
object – identifica o valor da propriedade na sentença modelada, ou seja, o
valor da propriedade object é o objeto da sentença original (no exemplo:
Ora Lassila);
?
type – descreve o tipo do novo recurso. Todas as sentenças transformadas
são instâncias de RDF:Statement, ou seja, elas têm uma propriedade type
cujo objeto é RDF:Statement. A propriedade type é também usada para
declarar o tipo de quaisquer recursos. Seu uso é descrito com mais
detalhes
na
especificação
do
modelo
e
sintaxe
RDF
43
(http://www.w3.org/TR/REC-rdf-syntax/)
e
será
mais
utilizado
na
especificação dos esquemas RDF.
Um novo recurso, com as quatro propriedades citadas, representa a sentença original
e pode ser usado tanto como objeto de outras sentenças como também ter uma
sentença adicional sobre ele. Tal recurso não é um substituto da sentença original,
mas apenas um modelo da declaração. Uma sentença e suas correspondentes
sentenças transformadas existem independentemente das demais. Este processo de
transformar algo abstrato
em concreto, no contexto da representação do
conhecimento, denomina-se reificação. Uma sentença reificada (reifield statement) é
um modelo de uma sentença, ou seja, foi transformada do abstrato para o concreto).
Para modelar o exemplo citado dentro destes conceitos, é preciso utilizar outra
propriedade na sentença transformada (“attributedTo”) com o valor apropriado (“Ralph
Swick”). Na sintaxe básica, a sentença será representada deste modo:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:a="http://description.org/schema/">
<rdf:Description>
<rdf:subject resource="http://www.w3.org/Home/Lassila" />
<rdf:predicte resource="http://description.org/schema/Creator" />
<rdf:objectoOra Lassila</rdf:object>
<rdf:type
resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Statement" />
<a:attributedTO>Ralph Swick</a:attributedTO>
</rdf:Description>
</rdf:RDF>
Estes são apenas os conceitos principais do modelo e sintaxe RDF. Há diversas
particularidades conceituais na especificação que não é o objetivo deste trabalho. A
especificação do W3C (http://www.w3.org/TR/REC-rdf-syntax/) é a fonte oficial de
informação sobre a gramática e conceitos do modelo RDF.
44
6.3.4 - Esquema RDF
Como já foi citado neste trabalho, os esquemas RDF definem o significado,
características e relacionamentos do conjunto de propriedades, além de restrições de
valores e herança de propriedade de outros esquemas. Um esquema é semelhante a
um DTD, porém é muito mais expressivo e abrangente. O esquema utiliza o modelo
definido em um vocabulário para expressar a estrutura do documento através do
respectivo vocabulário. A finalidade é a mesma aplicada aos esquemas dos bancos
de dados: as regras são definidas para que o modelo de dados sempre esteja em
conformidade com elas. A figura 04 ilustra o contexto do esquema RDF:
Esquema RDF (regras)
Recursos
Propriedades
//Declarações
Recursos + propriedade =
“valor”
...
Retrições
Documento
(conforme as regras)
<xxx>
Esquemas RDF
estabelecem as
regras que ditam
o que documentos
XML podem
declarar e conter.
<z>def</z>
<y>ghi</y>
</xxx>
Fig. 04 – Contexto do esquema RDF (MOHR, 1999).
A especificação do esquema (http://www.w3.org/TR/2000/CR-rdf-schema-20000327/)
descreve como o RDF deve ser usado para a descrição de vocabulários RDF.
Também define um vocabulário básico para este propósito, bem como um
mecanismo que permite a extensibilidade para futuros aprimoramentos. Este
vocabulário define recursos e propriedades em um sistema tipado, similar ao
oferecido pelas linguagens de programação como C++ e Java, de acordo com a
especificação do modelo e sintaxe RDF (http://www.w3.org/TR/REC-rdf-syntax/). O
vocabulário do esquema é definido em um espaço de nomes denominado 'rdfs' e
identificado pela URI http://www.w3.org/2000/01/rdf-schema#. A especificação
45
também utiliza o prefixo 'rdf' para referir-se ao espaço de nomes do modelo e sintaxe
RDF, identificado pela URI http://www.w3.org/1999/02/22-rdf-syntax-ns#.
6.3.4.1 - Classes e propriedades
Os recursos podem ser instâncias de uma ou mais classes e isto é expresso em um
esquema RDF através da propriedade rdf:type. Normalmente, as classes são
organizadas de forma hierárquica, como por exemplo, a classe “Animal” tem a
subclasse “mamífero” e esta tem a subclasse “cão”. Qualquer recurso que está em
rdf:type
Cão também é considerado que está em rdf:type
Animal. A
especificação do esquema descreve a propriedade rdfs:subclassOf para indicar
estas relações entre as classes. A figura 05 ilustra o conceito de classe, subclasse e
recurso. As classes são descritas por um retângulo com cantos arredondados e
recursos com pontos grandes. As setas partem de um recurso até a classe que o
define e as subclasses são representadas também por retângulos de cantos
arredondados, mas incluídos em outra classe (superclasse). Se um recurso está
dentro de uma classe, então existe uma propriedade rdf:type daquele recurso, cujo
valor é um recurso que define a classe que o contém.
46
Resource
Property
? rdf:type
? rdfs:subClassOf
? rdfs:subPropertyOf
? rdfs:comment
? rdfs:label
? rdfs:seeAlso
? rdfs:isDefinedBy
Class
? rdfs:Resource
? rdfs:Class
? rdf:Property
? rdfs:ConstraintProperty
? rdfs:literal
ConstraintProperty
? rdfs:range
? rdfs:domain
Fig. 05 – Classes e recursos como conjuntos e elementos.
A figura 06 ilustra a hierarquia de classes para o esquema RDF utilizando a
representação gráfica de arcos e nós. Se uma classe é um subconjunto de outra,
então existe um arco rdfs:subClassOf de um nó, que representa a primeira classe,
para a segunda. Do mesmo modo, se um recurso é uma instância de uma classe,
então existe um arco rdf:type do recurso para o nó que representa a classe. Na figura
não são mostrados todos os nós da hierarquia de classes do esquema.
47
Fig. 06 – Hierarquia de classes para o esquema RDF (http://www.w3.org/TR/2000/CR-rdf-schema20000327/)
As classes essenciais de um esquema RDF são:
?
rdfs:Resource – a mais geral das classes, pois todas as coisas podem
ser definidas como recursos. Todas as demais classes são subclasses
dela;
?
rdf:Property – representa o subconjunto de recursos que são
propriedades (mesmo conceito do modelo e sintaxe RDF);
?
rdfs:Class – tem o mesmo conceito de classe das linguagens de
programação. Quando um esquema define uma nova classe, o recurso que
representa esta classe deve ter a propriedade rdf:type, cujo valor é o
recursos rdf:Class.
O exemplo seguinte ilustra a descrição de classes em um esquema que descreve
veículos
(reproduzido
da
especificação
do
esquema
em
http://www.w3.org/TR/2000/CR-rdf-schema-20000327/)
<rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
48
<rdf:Description ID="MotorVehicle">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf
rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Description>
<rdf:Description ID="PassengerVehicle">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description ID="Truck">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description ID="Van">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#MotorVehicle"/>
</rdf:Description>
<rdf:Description ID="MiniVan">
<rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:subClassOf rdf:resource="#Van"/>
<rdfs:subClassOf rdf:resource="#PassengerVehicle"/>
</rdf:Description>
</rdf:RDF>
As propriedades são instâncias da classe rdf:Property e proporcionam um
mecanismo para expressar os relacionamentos entre as classes e seus objetos ou
com superclasses. As essenciais são:
?
rdf:type – indica que um recurso é membro de uma classe e, deste
modo, tem todas as características inerentes a um membro dessa classe;
?
rdfs:subClassOf – indica que uma classe pertence a outra mais
abrangente na hierarquia de classes (uma classe pode pertencer a mais de
uma classe). Exemplificando:
<rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description ID="biologicalParent">
<rdf:type
resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Property"/>
</rdf:Description>
49
<rdf:Description ID="biologicalFather">
<rdf:type
resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Property"/>
<rdfs:subPropertyOf rdf:resource="#biologicalParent"/>
</rdf:Description>
</rdf:RDF>
?
rdfs:subPropertyOf – é uma instância de rdf:Property e indica que
uma propriedade é uma especialização de outra. Uma propriedade pode
ser uma especialização de mais de uma propriedade;
?
rdfs:seeAlso – indica um recurso que pode fornecer informações
adicionais sobre o recurso em questão;
?
rdfs:isDefinedBy – é uma subpropriedade de rdfs:seeAlso e indica o
recurso que define o recurso em questão;
6.3.4.2 – Restrições
A especificação do esquema RDF também possui um vocabulário para a declaração
de restrições quanto ao uso das propriedades e classes em dados RDF. Por
exemplo, pode-se restringir os tipos de valores que podem ser válidos para uma
determinada propriedade. Também podem ser limitadas as propriedades que uma
classe pode ter. As principais restrições são:
?
rdfs:ConstraintResource – é uma subclasse de rdfs:Resource em que todos
os seus objetos são recursos para especificar restrições;
?
rdfs:ConstraintProperty
-
é
uma
subclasse
de
rdf:Property
e
rdfs:ConstraintResource em que todos os seus objetos são propriedades
para especificar restrições;
?
rdfs:range – é uma instância de rdfs:ConstraintProperty e é utilizada para
indicar a uma classe (ou várias) que o valor de uma propriedade deve ser
membro dela. Este valor é sempre uma classe;
?
rdfs:domain – é utilizada para indicar a uma classe (ou várias) quais os
membros em que pode ser aplicada uma propriedade.
50
Para exemplificar o uso, reproduzimos o esquema citado na especificação do
esquema RDF (http://www.w3.org/TR/2000/CR-rdf-schema-20000327/) que trata da
classe de veículos e que são descritas algumas restrições:
?
?
?
?
?
?
<rdf:RDF xml:lang="en"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdf:Description ID="registeredTo">
<rdf:type
resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Property"/>
?
<rdfs:domain rdf:resource="#MotorVehicle"/>
?
<rdfs:range rdf:resource="#Person"/>
? </rdf:Description>
?
?
?
?
?
?
?
?
<rdf:Description ID="rearSeatLegRoom">
<rdf:type
resource="http://www.w3.org/1999/02/22-rdf-syntaxns#Property"/>
<rdfs:domain rdf:resource="#PassengerVehicle"/>
<rdfs:domain rdf:resource="#Minivan"/>
<rdfs:range
rdf:resource="http://www.w3.org/2000/03/example/classes#Number"/>
</rdf:Description>
</rdf:RDF>
6.3.4.3 - Mecanismos de extensibilidade
O Resource Description Framework foi projetado para ser flexível e facilmente
extensível. Isto implica que se pode criar uma grande variedade de esquemas e que
as versões novas e revisões do esquema serão freqüentes. O termo “vocabulário
RDF” é utilizado para indicar os recursos que podem evoluir com o tempo, enquanto o
termo “esquema RDF” é utilizado para indicar os recursos que são imutáveis de um
vocabulário. Desta forma, pode-se dizer que haverá a evolução do vocabulário Dublin
Core e não do esquema Dublin Core, embora uma nova versão do vocabulário DC
poderia ser um esquema diferente.
A utilização de espaços de nomes (namespaces) deve adequar-se à possível
evolução do vocabulário, pois uma URI de um espaço de nomes identifica sem
ambiguidade o esquema em que está definidas as propriedades e classes. Por este
51
motivo, recomenda-se a utilização de uma nova URI para um novo espaço de nomes
para atender versões mais novas de um esquema. Também recomenda-se a
manutenção dos vocabulários de versões anteriores por um período indefinido. A
questão do gerenciamento de versões entre vocabulários e as aplicações que os
utilizam ainda é um ponto desta tecnologia que precisa aprimoramentos.
A especificação do esquema proporciona os mecanismos básicos para que haja
relacionamento entre vocabulários (rdfs:subClassOF e rdfs:subPropertyOf). Isto é um
dos meios de evolução do vocabulário RDF e poder abranger recursos fora da Web.
A especificação define uma subclasse de recursos (constraint resources) para
proporcionar a adição de novas formas de expressar restrições RDF. Novos recursos
podem ser implementados em versões futuras e que podem necessitar de restrições
específicas ainda inexistentes. Deste modo, a inclusão de novos recursos
não fica limitada ao conjunto de restrições de modelos vocabulários antigos.
6.3.4.4 – Documentação
As seguintes propriedades dão suporte à documentação do esquema:
?
rdfs:comment – utilizado para registrar comentários sobre recursos;
?
rdfs:label – utilizado para o registro de nomes de um recursos (em
diversas línguas, por exemplo).
6.3.5 - Aplicações do RDF
Por ser um padrão, o Resource Description Framework já é utilizado em um conjunto
razoável de aplicações e até mesmo na definição de outros padrões. A seguir
relacionaremos algumas mais significativas para demonstrar a tendência de
aceitação deste padrão:
52
?
Document Content Description (DCD) (http://www.w3.org/TR/NOTE-dcd) é
uma proposta da IBM e Microsoft, já submetida ao W3C, caracterizada por
um esquema estrutural, na forma de um vocabulário RDF, para a
especificação de regras na estrutura e conteúdo de documentos XML.
Embora com recursos mais abrangentes, a idéia do DCD é próxima à do
DTD.
?
Platform for Privacy Preferences (P3P) (http://www.w3.org/TR/P3P/) é uma
recomendação candidata no W3c que se propõe a, através de um formato
padrão, possibilitar que Web sites expressem sua política de privacidade de
modo que possa ser recuperada e interpretada automaticamente por
agentes do usuário. Embora no atual estágio da recomendação a
plataforma ainda não esteja definida através de um modelo RDF, isto já está
planejado para as próximas fases do processo de padronização.
?
Composite
Capability/Preference
Profiles
(CC/PP)
(http://www.w3.org/Mobile/CCPP/) é a tecnologia que possibilitará o
gerenciamento de perfis do usuário, referente a capacidades de seus
recursos e preferências, para seu acesso à Web. A tecnologia está sendo
desenvolvida principalmente em função dos avanços na área de hardware
que possibilitaram a internet móvel. Para dar suporte a esta tecnologia,
foram desenvolvidos vários frameworks através do RDF.
?
INDECS Framework (interoperability of data in e-commerce systems)
(<http://www.indecs.org/>) é uma iniciativa de um grupo de empresas
ligadas ao comércio eletrônico com a finalidade de definir padrões para a
interoperabilidade de dados nesta área. Também foi utilizado o RDF em
sua especificação.
?
DUBLIN CORE (DC) (http://dublincore.org/) - é uma das mais generalizadas
aplicações do RDF por ser simples. Trata-se de um conjunto de quinze
elementos definidos pelo Dublin Core Metadata Initiative (DMI), o Dublin
53
Core Metadata Element Set, para identificação dos recursos de uma
maneira geral, mas aplica-se muito bem à Web. Este conjunto é formado
pelos seguintes elementos: título, assunto, autor, descrição, editor,
colaboradores, data, tipo de objeto, formato, identicador, relacionamento,
língua, área geográfica de cobertura, fonte e direitos. Páginas Web com a
descrição dos elementos DC, através do RDF, possibilitam sua
recuperação por agentes que utilizam este recurso.
?
NKLR (Narrative Knowledge Representation Language) (BERTINO, 2001:
334) é uma linguagem para representação de conteúdo semântico de
documentos narrativos. É utilizada no projeto de pesquisa CONCERTO da
Comunidade Européia (http://concerto.pira.co.uk/webpages/frameset.html),
implementada em JAVA e RDF, que desenvolve ferramentas para
indexação, consulta e recuperação de informações em documentos digitais;
?
Netscape 6 da Netscape e América On-line, utiliza o RDF para integrar
várias aplicações orientadas a dados (bookmarks, mail/news, channels,
etc.);
?
Universal
Commerce
Language
and
(http://www.w3.org/TR/1999/NOTE-uclp-19990120/)
Protocol
e
(UCLP)
Personalized
Information Description Language (PIDL) (http://www.w3.org/TR/NOTE-PIDL)
são linguagens que, inicialmente foram especificadas em XML e
submetidas para padronização ao W3c, mas que seus autores já
planejaram seu mapeamento para o RDF.
?
HOTMETA
- Metadata
Searching
Engine
do Distributed Systems
Technology Centre (DSTC) (http://www.dstc.edu.au/), mantido pelo governo
australiano, utiliza-se do RDF na indexação de seus sistema de busca;
?
UK
Mirror
Service
é
um
serviço
nacional
do
Reino
Unido
(http://www.mirror.ac.uk/) para espelhamento e armazenamento de software
54
e dados. Nele é utilizado o RDF para o espelhamento da descrição do
conteúdo de mais de quatro milhões de recursos;
?
Descrição e recuperação de fotos – o W3c tem um projeto neste sentido
que
utiliza-se
do
RDF
para
o
gerenciamento
de
dados
(http://www.w3.org/TR/photo-rdf/);
?
RDF Site Summary (RSS)
é um framework baseado no RDF para a
descrição de canais. Foi desenvolvido pela Nestcape em 1999 como
mecanismo para recuperar conteúdo destinado ao portal My Netscape
Network (http://my.netscape.com/).
6.3.6 – Considerações Finais
O Resource Description Framework, aqui tratado com o modelo e sintaxe (RDF) e o
esquema RDF (RDFS), pode ser considerado um conjunto de especificações que
proporcionam uma representação genérica para dados e metadados na Web,
podendo inclusive ser utilizado fora dela. Além disto, pelo fato de já ser um padrão do
W3C e de prever um mecanismo de evolução, certamente pode ser habilitado como
mecanismo auxiliar de interoperabilidade na Web.
Algumas críticas têm sido feitas ao modelo (divergências de conceitos em relação ao
modelo de dados orientado a objetos, o conceito abstrato da reificação, o
versionamento de vocabulários, etc). Porém, a materialização de um modelo ideal é
um fato distante da realidade. Sempre há muitos pontos de divergências em todas as
áreas de atuação humana. Porém, como dispomos
de mecanismos de
aprimoramento do modelo, resta a comunidade Web a tarefa de utilizar tais
mecanismo para ir enriquecendo o framework.
Outro ponto de controvérsia, mais voltado para a atuação do W3C, é a aparente
semelhança entre o esquema RDF e o esquema XML, ambos em processo de
padronização pelo mesmo consórcio. Um documento do W3C (The Cambridge
Comuniqué (W3C, 1999)) tratou da questão esclarecendo o seguinte:
55
?
o RDF é um exemplo de modelo de dados genérico e pertence a família dos
modelos tipo entidade-relacionamento;
?
as linguagens dos esquemas XML e RDF são distintas e baseadas em
modelos diferentes (esquema XML baseado em modelo de dados
estruturados em árvore e esquema RDF em modelo de dados estruturados
em grafos direcionados de arestas rotuladas), portanto não necessitam de
convergência;
Provavelmente a questão ainda será muita discutida na comunidade Web e deve ser
objeto de futuros trabalhos, pois a utilização de ambos os esquemas tende a crescer
à medida que aumenta a quantidade de software que dar suporte a estas tecnologias.
56
7 - Glossário
ANSI - (American National Standards Institute) - Uma organização afiliada à ISO e que
é a principal organização norte-americana envolvida na definição de padrões (normas
técnicas) básicos como o ASCII.
ARPANET - (Advanced Research Projects Agency Network) - Rede de longa
distância criada em 1969 pela Advanced Research Projects Agency (ARPA,
atualmente Defense Advanced Projects Research Agency, ou DARPA) em consórcio
com as principais universidades e centros de pesquisa dos EUA, com o objetivo
específico de investigar a utilidade da comunicação de dados em alta velocidade
para fins militares. É conhecida como a rede-mãe da Internet de hoje e foi colocada
fora de operação em 1990, posto que estruturas alternativas de redes já cumpriam
seu papel nos EUA.
ASCII - (American Standard Code for Information Interchange) - Código numérico
usado para representar caracteres em arquivos texto em computadores e dispositivos
de armazenamento eletrônico de dados.
CERN - Laboratório Europeu de Física de Partículas, localizado em Genebra, Suíça.
A sigla CERN é de seu nome anterior, Conseil Européen pour la Recherche Nucleaire
(Conselho Europeu para Pesquisa Nuclear). Para os usuários Internet, o Cern é
conhecido como o local onde foi desenvolvido a World Wide Web.
CORBA - Common Object Request Broker Architecture é a proposta da OMG (Object
Manangement Group) para uma plataforma padronizada de serviços de objetos
distribuídos.
DTD - (Document Type Definition - definição de tipo de documento) - É uma definição
formal dos elementos, estruturas e regras para codificação de um documento de
acordo com a linguagem SGML. As informações de um DTD podem vir junto com o
documento ou separadamente em outro arquivo ou link.
57
Dublin Core (DC) - Forma abreviada do Dublin Metadata Core Element Set que é
uma lista de treze elementos de metadados principais criados pelos participantes do
OCLC/NCSA Metadata Workshop (março de 1995) com o objetivo de definir um
conjunto básico de atributos que sirvam para identificar todos os recursos disponíveis
na Web. O OCLC é sigla do Online Computer Library Centre e NCSA é a sigla do
National Center for Supercomputing Applications.
Framework – conjunto de padrões, regras, software ou especificações que atendem
a um determinado propósito geral.
Hipertexto - Forma não linear de apresentar informações. Tópicos de um texto
podem ter vínculos com outras partes do mesmo documento ou outros documentos,
que por sua vez podem estar vinculados a outras informações.
HTML (Hypertext Markup Language) - Linguagem padrão usada para escrever
páginas de documentos para Web ou WWW. É uma variante da SGML (Standard
Generalized Markup Language), bem mais fácil de aprender e usar, possibilitando
preparar documentos com gráficos e links para outros documentos para visualização
em sistemas que utilizam Web.
INDECS (Interoperability of Data in E-Commerce Systems) - É um padrão de
metadados para o comércio eletrônico (INDECS framework) criado pelo "The
<indecs> Framework Ltd", uma companhia sem fins lucrativos patrocinada por uma
associação internacional de empresas ligadas ao comércio eletrônico. O INDECS
framework consiste de um modelo genérico do metadados que descreve e
excepcionalmente identifica: a propriedade intelectual, as pessoas e seus negócios e
os acordos que fazem sobre ele.
58
LCSH (Library of Congress Subject Headings) - Designação dada a lista de
cabeçalhos de assuntos da Biblioteca do Congresso Americano, adotada por um
grande número de bibliotecas e serviços de catalogação.
MARC (Machine-Readable Cataloging format) - Formato para intercâmbio de
informações bibliográficas em fita magnética, definido pela ISO 2709. É o formato
mais popular para a descrição bibliográfica de documentos.
Metadados - São dados sobre dados. Descrevem os dados , o ambiente onde são
manipulados, como são manipulados e para onde são distribuídos.
NAA (Newspaper Association of America) - Associação de Editores de Jornais dos
EUA que organiza e mantêm a NAA Classified Advertising Standards Task Force.
NAA Classified Advertising Standards Task Force - Grupo do Departamento de
Tecnologia da NAA encarregado de definir padrões para facilitar o intercâmbio
eletrônico de anúncios classificados.
OASIS (Organization for the Advancement of Structured Information Standards) Organização para o Avanço de Padrões de Informação Estruturados formada por um
consórcio internacional e dedicada a promover a adoção dos padrões públicos
(como SGML, HTML, XML, entre outros) pela comunidade de usuários da Web.
Parsers - ferramentas de software que faz análise de texto que, a partir de uma
gramática de definição de sua estrutura, extrai informações que servisão para outro
módulo de software. Parsers são utilizados para a extração de dados de um
documento XML, por exemplo.
PICS - Platform for Internet Content Selection (Plataforma para Seleção de Conteúdo
na Internet), é uma infraestrutura baseada em metadados que possibilita o
gerenciamento de direitos de propriedade intelectual, privacidade, e conteúdo em
páginas Web.
59
RDF (Resource Description Framework) - É uma especificação do W3C com a
finalidade de criar um padrão para gerenciamento de metadados independente de
plataforma. O RDF foi concebido para prover uma infra-estrutura que suporte
metadados na generalidade das atividades baseadas na Web e utiliza-se da
linguagem XML para tal fim.
Semantic WEB Activity - Uma das ações desenvolvidas pelo W3C que tem como
objetivo a criação de um ambiente de software que permita a cada usuário fazer o
melhor uso dos recursos disponíveis na Web. Esta idéia é designada pelo W3C como
"Semantic Web" e o RDF é um dos elementos deste ambiente.
SGML (Standard General Markup Language) - Linguagem Padrão de Marcações
Genéricas padronizada pela norma ISO 8879. Descreve um padrão para o uso de
marcações descritivas mescladas a documentos e também fornece um método
padrão para nomear as estruturas de um texto, definindo modelos hierárquicos para
cada tipo de documento produzido. É uma metalinguagem.
SGBD (Sistema Gerenciador de Banco de Dados) - Termo genérico para designar
todo software responsável pelo gerenciamento (armazenamento e recuperação) dos
dados em um Banco de Dados. Oracle, Informix, DB2 e SQL Server são exemplos de
SGBDs.
Spiders - ferramentas de software dos sistemas de busca na Web que atualizam sua
base de dados através da navegação na rede a procura de novos dados.
Style sheet – Folha de estilo - é um arquivo com comandos CSS (Cascading Style
Sheets - conjunto de novas tags que ajudam a ter um melhor controle sobre o layout de
páginas Web.) que vão definir o estilo de uma ou várias páginas Web. A vantagem do
uso de style sheets é que com uma mudança em um único arquivo, pode-se alterar ao
mesmo tempo várias páginas que usam as definições de estilo daquele style sheet.
60
tag - É um termo genérico usado para designar elementos de descrição de
linguagens. Na linguagem HTML, por exemplo, para colocar uma palavra em negrito
deve-se usar os tags <B> e </B> antes e depois da palavra.
UML - A UML (Unified Modeling Language - Linguagem de Modelagem Unificada) é
um padrão para modelagem de sistemas orientados a objetos. A idéia central deste
modelo é fazer com que os arquitetos de sistemas trabalhem com Análise e Projeto
Orientados a Objetos a partir de uma linguagem consistente para especificação,
visualização, construção e documentação dos aspectos do software, bem como a
utilizem para a modelagem do negócio.
URI - (Uniform Resource Identifier) - o termo genérico para tipos de nomes e
endereços da World Wide Web.
URL - (Uniform Resource Locator) - localizador de endereços de páginas Web em
toda a rede Internet, através de um browser. Inclui basicamente as seguintes
informações:
a) o protocolo utilizado (http, ftp, mailto,...) seguido de dois pontos;
b) o nome do domínio, ou seja, o computador servidor onde a página está
armazenada, antecedido de duas barras;
c) o path (caminho) para a localização do arquivo relativo à página.
W3C (World Wide Web Consortium - http://www.w3.org/) - É um consórcio formado
por mais de 400 membros, formado em outubro de 1994, que tem como objetivo
disciplinar e desenvolver o uso da WWW. O estabelecimento de padrões de
linguagens voltadas para o desenvolvimento de aplicações na Web, como HTML e
XML, tem sido uma de suas grandes contribuições.
WWW (World Wide Web) - Literalmente, teia de alcance mundial. Baseada em
hipertextos, integra diversos serviços Internet que oferecem acesso, através de
hiperlinks, a recursos multimídia da Internet. Responsável pela popularização da rede,
61
que agora pode ser acessada através de interfaces gráficas de uso intuitivo, como o
Netscape ou Mosaic, a Web possibilita uma navegação mais fácil pela Internet.
XHTML (eXtensible HTML) - É uma linguagem já padronizada pelo W3C para a
construção de páginas para a Web que combina as características da norma HTML
4.0 com a estrutura e flexibilidade do XML 1.0 em um formato simples.
XML (eXtensible Markup Language) - Evolução do HTML. Linguagem extremamente
flexível, onde o programador pode criar suas próprias tags. Seu objetivo é armazenar
as informações de forma organizada.
62
8 – Referências bibliográficas
ABITEBOUL, Serge et al. Gerenciando dados na WEB. Tradução de Mônica Cardia,
Rio de Janeiro, Campus, 2000.
ABORTEX. A Guide to SGML (Standard Generalized Markup Language) and Its
Role in Information Management, An Arbortext SGML White Paper, Arbortext Inc,
1992, disponível on-line
(http://www.arbortext.com/data/getting_started_with_SGML/getting_started_with_sgml.
html)
ALEXAKI, Sofia. Managing RDF Metadata for Community Webs. Iartigo
apresentado no 2nd International Workshop on The World Wide Web and Conceptual
Modelling (WCM'2000), Salt Lake City, USA, Out. 2000, disponível on-line
(http://citeseer.nj.nec.com/alexaki00managing.html)
BACA, Murtha et al. Introduction to Metadata: Pathways to Digital Information. Getty
Information Institute, 1998.
BERNERS-LEE, Tim et al. Web Architecture: Describing and Exchanging Data.
W3C Note, 7 June 1999, disponível on-line (<http://www.w3.org/1999/06/07WebData>)
BERTINO, Elisa, CATANIA, Barbara, ZARRI, Gian Piero. Intelligent Database
Systems. Great Britain, ACM Press, 2001.
BRITTON, Chris. IT Architectures and Milddleware: Strategies for Building Large,
Integrated Systems. USA, Addison-Wesley, 2001.
63
BRICKLEY, D., GUHA, R.V.,Resource Description Framework (RDF) Schema
Specification. W3C Candidate Recommendation, Mar 2000, disponível on-line
(<http://www.w3.org/TR/2000/CR-rdf-schema-20000327>).
BOSAK, Jon. XML, Java, and the future of the Web. Sun Microsystems, mar. 1997,
disponível On-line (http://www.ibiblio.org/pub/sun-info/standards/xml/why/xmlapps.htm).
CATHRO, W. Metadata: An Overview. Artigo apresentado no Standards Australia
Seminar, August 1997, disponível on-line
(<http://www.nla.gov.au/nla/staffpaper/cathro3.html>)
CHAUDHRI, Akmal, Zicari Roberto. Succeeding with Object Databases: a practical
look at today's implementations with Java and XML. USA, Jonh Wiley & Sons, Inc,
2001.
FORSBERG, Kerstin, Dannstedt, L.. Extensible use of RDF in a Business Context.
Artigo apresentado no WWW9 Amsterdam, Mai 2000, disponível on-line
(http://www.viktoria.informatik.gu.se/~kerstinf/www9/ExtRDF.htm)
GALNARES, Roberto. Metadata in the World Wide Web. Computer and Information
Science Department, New Jersey Institute of Technology, jul 1999, disponível on-line
(http://www.cis.njit.edu/~galnares/Metadata.html)
GUHA, R. V., BRAY, Tim. Meta Content Framework Using XML. Textuality, 1997,
disponível on-line (http://www.textuality.com/mcf/NOTE-MCF-XML.html);
HEERY, Rachel. What Is ... RDF? Ariadne No. 14, March 1998, disponível on-line
(http://www.ariadne.ac.uk/issue14/what-is/)
JACOBS, Ian. About the World Wide Web Consortium (W3C). World Wide Web
Consortium, Mar 2000, disponível on-line (<http://www.w3.org/Consortium/>)
64
KLYNE, Graham. Contexts for RDF Information Modelling. Content Technologies
Ltd. Ago. 2000, disponível on-line
(http://public.research.mimesweeper.com/RDF/RDFContexts.html)
KLYNE, Graham. Information Modelling using RDF – Constructs for Modular
Description of Complex Systems. Baltimore, 2000
LAGOZE, Carl. The Warwick Framework: A Container Architecture for Diverse Sets
of Metadata. D-Lib Magazine, July/August 1996, disponível on-line
(http://www.dlib.org/dlib/july96/lagoze/07lagoze.html);
LASSILA, Ora; SWICK, Ralph R.. Resource Description Framework (RDF) Model
and Syntax Specification. W3C recommendation, feb 1999, disponível on-line
(<http://www.w3.org/TR/1999/REC-rdf-syntax-19990222>).
LEINER, Barry M. at al. A Brief History of the Internet. The Internet Society (ISOC),
Ago 2000, disponível on-line (<http://www.isoc.org/internet/history/brief.html>)
MARCO, David. Building and Managing the Meta Data Repository: A full lifecycle
Guide. USA, John Willwy & Sons, Inc, 2000.
MEDEIROS, Norm. Making Room for MARC in a Dublin Core World. Online Inc, nov
1999, disponível on-line
(<http://www.onlineinc.com/onlinemag/OL1999/medeiros11.html>)
MILLER, James S. W3C and Digital Libraries. D-Lib Magazine, November 1996,
disponível on-line (http://www.dlib.org/dlib/november96/11miller.html)
MILLER, Eric. An Introduction to the Resource Description Framework. Bulletin of the
American Society for Information Science 25, No. 1, nov. 1998, p. 15-19.
65
MILLER, Eric at al. Guidance on expressing the Dublin Core within the Resource
Description Framework (RDF). Dublin Core Metadata Initiative, Jul 1999, disponível
on-line (<http://www.ukoln.ac.uk/metadata/resources/dc/datamodel/WD-dc-rdf/>)
MOHR, Stephen T. MOHR, Stephen F. Designing Distributed Applications With
XML, ASP, IE5, LDAP and MSMQ. Birmingham, UK, Wrox Press Ltd, 1999.
PITTS-MOULTIS, Natanya, BIRK, Cherly. XML Black Book. São Paulo, MAKRON
Books, 2000.
RICHMOND, Alan. Introduction to XHTML, with eXamples. Web Developer's Virtual
Library, Fev. 2000, disponível on-line
(http://www.wdvl.com/Authoring/Languages/XML/XHTML/).
RUST, Goldfrey, BIDE, Mark. The <indecs> Metadata Framework. <indecs>
Framework Ltd, Jun 2000, disponível on-line
(<http://www.indecs.org/pdf/framework.pdf>)
STAAB, Steffen et al. An extensible approach for Modeling Ontologies in RDF(S).
No Knowledge Media in Healthcare: Opportunities and Challenges. Rolf Grütter (ed.).
Idea Group Publishing, Hershey USA / London, UK. December 2001, disponível on-line
(http://www.aifb.uni-karlsruhe.de/~sst/Research/Publications/Publications.htm)
W3C. HyperText Markup Language Home Page. World Wide Web Consortium, Mar.
2001, disponível on-line (http://www.w3.org/MarkUp/)
W3C. HTML 4.01 Specification. World Wide Web Consortium, Dez. 1999, disponível
on-line (http://www.w3.org/TR/html4/).
W3C. XML Schemas. World Wide Web Consortium, mar, 2001, disponível on-line
(http://www.w3.org/XML/Schema).
W3C. The Cambridge Communiqué. World Wide Web Consortium, out. 1999,
disponível on-line (http://www.w3.org/TR/schema-arch);
66
W3C. Metadata Activity Statement. World Wide Web Consortium, out. 2000,
disponível on-line (http://www.w3.org/Metadata/Activity);
WATSON, Dennis G. .Brief History of Document Markup. Florida Agriculture
Information Retrieval System. Oct. 1996, disponível on-line
(<http://edis.ifas.ufl.edu/scripts/htmlgen.exe?DOCUMENT_AE038>);
WILLIAMS, Kevin at al. XML Databases. Birmingham, UK, Wrox Press Ltd, 2000.
67
Download

Aplicando RDF na interoperabilidade de dados de diferentes