• Nenhum resultado encontrado

A Resource Description Framework (RDF) é uma framework, tecnologia ou linguagem para representar informação na Web (Lassila e Swick, 1999). Sendo uma das aplicações da XML, usa a notação XML como sintaxe de codificação e de descrição dos metadados.

Os metadados são utilizados para descrever as características de um recurso e as suas relações. Assim, o objectivo principal da tecnologia ou metalinguagem RDF é definir um mecanismo para descrever recursos independentemente da área do conhecimento.

Inicialmente, a especificação RDF consistia essencialmente num modelo de dados e numa sintaxe para o esquema de metadados. O modelo de dados era responsável pela descrição dos recursos, enquanto que a sintaxe XML permitia criar e partilhar os metadados entre as aplicações. Esta especificação traduzia-se na recomendação Resource Description

1999 (Lassila e Swick, 1999). Entretanto foram surgindo algumas propostas de revisão. Actualmente, a recomendação RDF consiste nos seguintes documentos:

• RDF Primer (Manola e Miller, 2004): introduz a linguagem RDF e descreve algumas das suas aplicações com o objectivo principal de ajudar os projectistas de sistemas da informação e os programadores de aplicações a compreender as características da RDF e a forma de a usar;

• RDF Concepts and Abstract Syntax (Klyne e Carroll, 2004): define a sintaxe abstracta na qual a RDF se baseia e da qual se serve para ligar a sua sintaxe concreta à sua semântica formal. Inclui também a discussão dos objectivos do projecto (design), dos conceitos-chave, do datatyping, da normalização dos caracteres e da manipulação das referências URI;

• RDF Semantics (Hayes, 2004): apresenta a especificação de uma semântica precisa e correspondentes sistemas de regras de inferência, tanto para a RDF como para o seu esquema RDFS (este esquema será detalhado no capítulo seguinte);

• RDF/XML Syntax (Beckett, 2004): define a sintaxe de XML para RDF, designada RDF/XML, em termos de namespaces em XML (Bray et al., 1999), XML Information

Set (Cowan e Tobin, 2001) e XML Base (Marsh, 2001). A gramática formal para a

sintaxe é anotada com as acções que geram triplas do grafo RDF, tal como definido em RDF Concepts and Abstract Syntax. As triplas são escritas usando o formato de serialização N-Triples (subconjunto da notação N3) do grafo RDF que permite uma captura mais precisa do mapa da informação num formato processável por máquinas; • RDF Vocabulary Description Language 1.0 - RDF Schema (Brickley e Guha, 2004):

assumindo a RDFS como uma extensão semântica da RDF, esta especificação explica como usar a linguagem RDF para descrever vocabulários de RDF e define o vocabulário para esse fim;

• RDF Test Cases (Grant e Beckett, 2004): descreve os exemplos distribuídos pelo grupo RDF Core Working Group, nomeadamente casos de teste de conformidade com a gramática formal RDF e outros requisitos técnicos.

Podemos desde já reafirmar que esta abordagem é significativamente diferente das anteriormente descritas, uma vez que não se limita a anotar recursos de informação através de metadados seguindo um conjunto de descritores predefinido. Muito pelo contrário, constitui

uma camada complementar que permite expressar os metadados, tais como DCM e LOM. A linguagem RDF contribui para a melhoria de vários cenários, dos quais se destacam:

• Catalogar os recursos de informação e as suas relações num sistema (Website, página Web ou biblioteca digital, etc) ou entre vários sistemas;

• Classificar o conteúdo e descrever os recursos de informação;

• Pesquisar informação de forma mais precisa, permitindo que os motores de busca ofereçam melhores resultados;

• Filtrar com maior precisão dados para obter sistemas de avaliação de conteúdo mais viáveis;

• Representar conjuntos de documentos como um único e grande documento lógico, quando apropriado;

• Facilitar o intercâmbio e a partilha de conhecimento através de agentes de software inteligentes;

• Estabelecer relações seguras entre documentos e computadores para facilitar a troca de ideias e de recursos;

• Descrever os direitos de propriedade intelectual nas páginas Web;

• Expressar as preferências de privacidade de um utilizador ou as políticas de privacidade de um Website.

A Web actual é um conjunto de recursos e hiperligações (links). Os recursos são identificados por URIs (Uniform Resource Identifiers). Estes identificadores de recursos asseguram que cada objecto na Web esteja relacionado com apenas um conceito. O URL (Uniform Resource Locator) é um exemplo típico de URI. Normalmente, o utilizador consegue ler ou interpretar uma hiperligação, identificando o sentido semântico dessa descrição. Contudo, uma máquina não consegue deduzir qual o significado dessa hiperligação. Por exemplo, dois cursos de e-Learning podem fazer referência a um determinado livro. Um deles lista o livro como leitura obrigatória e o outro lista-o como leitura opcional. Para os alunos ou formandos, o sentido é totalmente diferente, mas para a máquina não, uma vez que encara ambos como simples hiperligações. Neste contexto, uma relação entre dois recursos possui uma propriedade que permite atribuir significado à ligação. No exemplo referido, podemos atribuir a propriedade “está entre os livros obrigatórios” ao URL no primeiro e-curso e a propriedade “está entre os

livros opcionais” ao URL no segundo e-curso. Com a XML e a RDF o conhecimento passa a ser formalizado de uma forma estruturada.

A RDF permite a automatização do processamento de recursos, facilitando a troca de conhecimento via Web (Klyne e Carroll, 2004). Para tal, recorremos aos URIs, associando-os aos elementos da RDF, tal como se usa uma ligação numa página Web. Os recursos identificados por URIs possuem propriedades ou atributos. As propriedades que os descrevem correspondem a características, atributos, relações e respectivos valores.

Um recurso pode ser praticamente qualquer coisa (física ou lógica) desde que seja identificável por um URI: um Website ou documento composto por várias páginas Web, uma página Web simples, parte de uma página Web, uma tabela, uma base de dados, uma imagem, um vídeo ou outro qualquer objecto de informação acerca de um conceito bem definido. Portanto, cada recurso deve ser identificado por um identificador de recursos (URI) que assegura que os objectos na Web estejam relacionados a apenas um conceito.

A RDF é uma linguagem que permite a codificação, o intercâmbio e a reutilização de metadados estruturados (Daconta et al., 2003). Basicamente, a RDF fornece uma forma de associar propriedades a recursos, através de statements. Um statement (declaração) tem três componentes: resource (recurso), property (propriedade) e value (valor), através dos quais é possível descrever os recursos de informação disseminados na rede, definindo recursos e identificando as suas propriedades e valores.

Uma propriedade é qualquer característica que possa descrever um recurso. Mas uma propriedade pode representar também o relacionamento entre recursos. Para definir o significado, as características e as relações entre recursos recorremos ao Esquema RDF (RDF

Schema ou RDFS), tal como veremos mais adiante.

Uma declaração corresponde a um determinado recurso, às suas propriedades e aos respectivos valores. Podemos resumir uma declaração como “o recurso (subject) possui a propriedade (predicate) com o valor (object). Por exemplo, a declaração <“http://www.vgportal.ipb.pt”, “autor”, “Vitor Gonçalves”> teria o significado: A página http://www.vgportal.ipb.pt (recurso) tem como autor (propriedade) Vitor Gonçalves (valor).

As declarações representam um grafo que vai do nó sujeito para o nó objecto e o arco tem o nome da propriedade, tal como se pode verificar na representação gráfica da declaração inerente ao exemplo. Para apoiar o desenvolvimento, visualização e navegação gráfica em modelos RDF podemos recorrer a ferramentas, tais como DLG (Directed Label Graphs) ou IsaViz (ver Figura 33). O modelo VSW (Visual Semantic Web), que é uma extensão da metodologia OPM (Object-Process Methodology), permite representar o conhecimento estático e dinâmico, simultaneamente em modo gráfico e textual, através dos componentes OPDs (Object-Process Diagrams) e OPL (Object-Process Language), respectivamente (Dori, 2003).

Figura 33 – Ambiente gráfico do IsaViz

Se aplicarmos a sintaxe RDF baseada em XML ao grafo da Figura 32 obtemos o seguinte código:

<?xml:namespace ns = http://www.w3.org/RDF/RDF/” prefix=”rdf” ?> <?xml:namespace ns = http://purl.org/dc/elements/1.1/” prefix=”dc” ?> <rdf: RDF>

<rdf:Description about=”http://www.vgportal.ipb.pt”> <dc:Creator>Vitor Gonçalves</dc:Creator>

</rdf:Description> </rdf: RDF>

O elemento Description permite agrupar diversos statements (declarações) para o mesmo recurso. O atributo about deste elemento indica o recurso ao qual todas essas declarações se aplicam. O elemento dc:Creator é um elemento da especificação para metadados Dublin Core e permite declarar o valor “Vitor Gonçalves”. Caso pretendêssemos fornecer o título do URI deste exemplo, bastaria recorrer ao elemento dc:Title de metadados

Dublin Core, tal como veremos na secção seguinte. Para além da sintaxe XML, o código

acima necessita das facilidades oferecidas pelos XML namespaces, que mais não são do que conjuntos de nomes, identificados por URIs, para usar em documentos XML como nomes de atributos e tipos de elementos (Bray et al., 1999).

Figura 35 – Grafo de um Modelo de Dados RDF

Num diagrama de modelo de dados, um objecto pode corresponder a outro recurso identificado por um URI, uma string ou outro qualquer tipo de dados definido em XML. Por exemplo, se necessitarmos fornecer mais informação sobre o autor (e-mail e instituição), o valor “Vitor Gonçalves” teria que ser substituído por um recurso (identificado por um URI) com as propriedades (nome, e-mail e instituição). A diferença é que, no primeiro exemplo, temos uma declaração com uma única propriedade (o literal “Vitor Gonçalves”) e no segundo, passou a existir uma propriedade estruturada que possui três propriedades (nome, email e instituição). Assim, o grafo do modelo de dados da Figura 35 expressa os metadados através da sintaxe de serialização RDF/XML da Figura 36.

Por conseguinte, as tags RDF de uma página Web contêm recursos que descrevem uma ou mais propriedades para cada recurso. Cada propriedade possui um valor ou aponta para outro recurso. Assim, as máquinas sabem como usar o valor armazenado em cada propriedade, uma vez que se encontra definido publicamente e armazenado através dos denominados namespaces. De referir que o prefixo acard corresponde a um namespace específico definido uma única vez na terceira linha do código RDF/XML.

<?xml:namespace ns = http://www.w3.org/RDF/RDF/” prefix=”rdf” ?> <?xml:namespace ns = http://purl.org/dc/elements/1.1/” prefix=”dc” ?> <?xml:namespace ns = “http://www.vgportal.ipb.pt/acard/” prefix=”acard” ?> <rdf:RDF>

<rdf:Description about=”http://www.vgportal.ipb.pt”>

<dc:Title>VGportal – O Portal da Web Semântica e do e-Learning</dc:Title> <dc:Creator>Vitor Gonçalves</dc:Creator>

</rdf:Description>

<rdf:Description ID = “http://www.vgportal.ipb.pt/vg”> <acard:Name> Vitor Gonçalves </acard:Name>

<acard:Email> vg@ipb.pt </acard:Email >

<acard:Institution> ESE-IPB </acard:Institution> </rdf:Description>

</rdf:RDF>

Figura 36 – Exemplo de RDF

Mas, mesmo assim, há a necessidade de especificar que deverá ser indiferente usar como identificação “Gonçalves, Vitor”, “Vitor Gonçalves” ou “Vitor Barrigão Gonçalves”, pois o mecanismo de busca interpretá-los-á correctamente, já que cada propriedade corresponde a um tipo definido globalmente. Um exemplo similar é a confusão entre datas do tipo UK (dia/mês/ano) e do tipo US (mês/dia/ano) (Thompson, 2004).

A resolução das ambiguidades e a obtenção de maior precisão na recuperação de informação disponível na Web constituem duas das principais preocupações dos projectos da WS. A ambiguidade pode ser solucionada atribuindo-se um URI diferente a cada conceito de uma palavra. Assim, os agentes dos motores de busca poderão encontrar páginas que se refiram a conceitos específicos e não todas as páginas nas quais a palavra ambígua é utilizada. Mas durante o processo de busca, o agente também pode encontrar dois ou mais URIs diferentes para o mesmo conceito. Para resolver este problema, existem as ontologias que vão fornecer o vocabulário necessário para a comunicação entre os agentes computacionais e as páginas Web e mostrar as relações entre os conceitos, fornecendo mais significado que as descrições RDF/XML. Não obstante, podem ocorrer outros tipos de ambiguidades no conteúdo de documentos disponíveis na Web que interfiram na precisão da recuperação da informação.

A RDF não fornece a informação suficiente para que uma máquina (aplicação ou agente de software) perceba que o valor de uma propriedade que representa um autor é uma referência a uma pessoa e não a uma instituição, localidade ou veículo. Necessitamos de um esquema que valide as afirmações expressas em RDF. Necessitamos do esquema RDFS ou de outra proposta ontológica. Estas serão detalhadas no capítulo seguinte.

Genericamente, o RDF Core (termo utilizado para distinguir o núcleo RDF do esquema RDFS) define como descrever as propriedades e os valores dos recursos, enquanto que o RDF Schema define as propriedades que podem ser utilizadas para definir esquemas. Em suma, podemos afirmar que o XML e o RDF(S) está para os computadores assim como o HTML está para as pessoas.

Finalmente, destacamos algumas das aplicações mais relevantes da tecnologia RDF: • Tecnologias para a distribuição de conteúdos de notícias on-line: RSS (RDF Site

Summary); PRISM (Publishing Requirements for Industry Standard Metadata); e

XMLNews-Meta (XML and News packaging and RDF metadata format);

• Tecnologias para redes sociais: FOAF (Friend Of A Friend) que permite criar páginas legíveis pelas máquinas (machine-readable) para descrever as pessoas, as ligações entre elas e as coisas que criam e fazem; FOAFCorp (Corporate Friends of Friends) que é uma extensão de FOAF para descrever com maior detalhe a estrutura de redes sociais e as relações entre entidades organizacionais; e Client – Haystack que permite a gestão de informação de uma forma personalizada através de um modelo RDF;

• Tecnologias para descrever colecções pessoais de música, vídeo, fotografias e agendas, tais como: MusicBrains Metadata Initiative (intercâmbio de áudio e vídeo através de metadados expressos em RDF); RDFPics (descrever e recuperar imagens usando RDF e http); e vCard (representação do formato vCard em RDF);

• Tecnologias para descrever documentos, ficheiros ou outros recursos de informação, tal como o XMP (eXtensible Metadata Platform) que nos permite adicionar metadados a ficheiros.

Com vista a facilitar a validação do código RDF, o W3C disponibiliza também um serviço on-line denominado RDF Validation Service (http://www.w3.org/RDF/Validator/).

Estes são apenas alguns exemplos que demonstram as potencialidades da tecnologia RDF. Contudo, a listagem de aplicações ao nível de projectos open source e proprietários cresce de dia para dia.