rdf

28

Upload: sergio-ortiga

Post on 08-Nov-2015

4 views

Category:

Documents


0 download

DESCRIPTION

Documento sobre RDF

TRANSCRIPT

  • Resource Description Framework (RDF)

    Jnio Csar de Lima Cedric Luiz de Carvalho

    Technical Report - RT-INF_003-05 - Relatrio Tcnico

    June - 2005 - Junho

    The contents of this document are the sole responsibility of the authors.

    O contedo do presente documento de nica responsabilidade dos autores.

    Instituto de Informtica

    Universidade Federal de Gois

    www.inf.ufg.br

  • Resource Description Framework (RDF)

    Jnio Csar de Lima

    [email protected]

    Cedric L. de Carvalho

    [email protected]

    Abstract. The Resource Description Framework (RDF) is a language for representinginformation about resources in the Web. It is intended for situations in which informa-tion needs to be processed by applications, rather than being only displayed to people.RDF is based on the assumptions that resources are described in terms of statementsand they have properties which have values. It represents statements as a graph ofnodes and arcs. Another form to model the statements is through triples. In triplesnotation, each statement is written as a subject, predicate, and object, in that order.To represent RDF statements in a machine-processable way, RDF provides an XMLsyntax, called RDF/XML. Besides these characteristics, RDF allows the definiton ofvocabularies to be used in the statements, called RDF Schema. All these features ofRDF are discussed and illustrated in this text.

    Keywords: RDF, RDF Schema, XML, metadata and Semantic Web.

    Resumo. O Resource Description Framework (RDF) uma linguagem de propsitogeral para representao de recursos na Web. Ele foi projetado para situaes ondeas informaes necessitam ser processadas por aplicaes, em lugar de somente se-rem visualizadas por pessoas. O RDF baseado na idia de que os recursos sodescritos atravs de declaraes e possuem propriedades que tm valores. Ele mo-dela as declaraes como ns e arcos em um grafo. Uma outra forma para modelaras declaraes em RDF atravs das chamadas triplas RDF. Uma tripla divi-dida em trs partes: sujeito, predicado e objeto. Para representar as declaraes deforma que possam ser mais facilmente processadas por mquinas, RDF usa a Ex-tensible Markup Language (XML). O RDF define uma linguagem de marcao XMLespecfica, chamada de RDF/XML. Alm destas caractersticas, RDF permite defi-nir um vocabulrio para ser usado nas declaraes. Este vocabulrio chamado deRDF Schema. Ele especificado como um conjunto de classes, propriedades e restri-es entre seus relacionamentos. Todas estas caractersticas do RDF so discutidas eexemplificadas neste texto.

    Palavras-Chave: RDF, RDF Schema, XML, metadados e Web Semntica.Mestrando em Cincia da Computao - GEApIS/INF/UFGOrientador - GEApIS/INF/UFG

    1

  • Resource Description Framework (RDF) 2

    1 IntroduoO Resource Description Framework (RDF) constitui-se em uma arquitetura genrica de

    metadados que permite representar informaes sobre recursos na World Wide Web (WWW ouWeb), tais como ttulo, autor e data de atualizao de uma pgina Web, por exemplo. Almdisso, RDF tambm pode ser usado para representar informaes sobre coisas que podem seridentificadas na Web, mesmo que elas no possam ser recuperadas, como informaes sobreitens acessveis de um mercado on-line (por exemplo: preo e marca de um produto). Asprincipais caractersticas do RDF so:

    proposto para situaes onde as informaes necessitam ser processadas por aplicaes,em lugar de somente serem visualizadas por pessoas.

    Prov uma estrutura comum para expressar informaes que podem ser trocadas entrediferentes aplicaes sem perda de significado [9].

    Baseia-se no princpio de identificao de objetos usando identificadores Web, tambmchamados de URIs (discutidos na Seo 2.1), e na descrio de recursos em termos depropriedades e valores de propriedade. Isto capacita o RDF a representar declaraessimples sobre recursos como um grafo de ns e arcos, representando os recursos, suaspropriedades e valores [9].

    Alm disso, o RDF tambm prov uma sintaxe baseada em XML (chamada deRDF/XML) para registrar e intercambiar estes grafos. Esta sintaxe processvel por mquinae, usando-se URIs, pode-se ligar pedaos de informaes atravs da Web. URIs em RDF po-dem se referir a qualquer coisa identificvel, incluindo objetos que no podem ser recuperdosdiretamente na Web, como por exemplo a pessoa de Mrio Sabino.

    O restante deste texto organizado como se segue: na Seo 2, so mostrados os con-ceitos bsicos, o modelo RDF e a representao de declaraes RDF usando grafos e triplas.Na Seo 3, so discutidas as principais caractersticas da sintaxe RDF/XML, entre elas a cri-ao de grupos e colees de recursos e reificaes. Na Seo 4, se discute os EsquemasRDF que estendem o modelo RDF para criao de vocabulrios. Finalmente, na Seo 5, soapresentadas as consideraes finais.

    2 Declaraes sobre recursosO RDF foi projetado para fornecer uma maneira simples de fazer declaraes sobre recur-

    sos na Web. Todas as coisas em RDF so chamadas de recursos, mas nenhuma suposio feitasobre a sua natureza, ou seja, os recursos podem ser: pginas Web, pessoas ou qualquer outracoisa. Um recurso tratado como sinnimo de entidade, isto , como um termo genrico paraqualquer coisa em um determinado domnio [7]. Nas Subsees 2.1 a 2.4, a seguir, se descrevecomo fazer declaraes sobre recursos em RDF.

    2.1 Conceitos bsicosO RDF baseado na idia de que as coisas que esto sendo descritas possuem proprie-

    dades que tm valores e que recursos podem ser descritos atravs de declaraes [9]. Ele usauma terminologia particular para realizar a descrio das partes de uma declarao. Especifica-mente, a parte que identifica o objeto da declarao (uma pgina Web, por exemplo) chamada

  • Resource Description Framework (RDF) 3

    de sujeito (recurso). A parte que identifica uma propriedade ou uma caracterstica (o criadorde uma pgina Web, por exemplo) de um recurso chamada de predicado (propriedade), e aparte que identifica o valor de uma propriedade chamada de objeto (valor de propriedade).Por exemplo, a declarao em portugus: http://www.exemplo.org/index.htmltem um criador cujo valor Mrio Sabino poderia ser representada por uma declarao RDFcomo:

    O sujeito a URL http://www.exemplo.org/index.html O predicado a palavra criador O objeto Mrio Sabino

    Enquanto uma linguagem natural, como o portugus, adequada para a comunicaoentre seres humanos, RDF adequado para expressar descries (declaraes) a respeito derecursos, de forma a facilitar o processamento automatizado por mquinas. Segundo Manola eMiller [9], este processamento automatizado requer:

    Um sistema automatizado que consiga identificar o sujeito, o predicado e/ou o objeto emuma declarao sem ambigidade;

    Uma linguagem para representar estas descries que facilite o intercmbio de informa-es entre mquinas.

    Felizmente, estes dois requisitos so atendidos pela arquitetura Web existente.Como foi discutido na Seo 1, a Web prov uma forma de identificao, o Uniform

    Resource Locator (URL). Um URL uma seqncia de caracteres que identifica a localizaode uma pgina Web. Contudo, tambm importanteque se possa identificar muitas coisas que,diferentemente de pginas Web, no possuem localizao na rede.

    A Web Semntica [2] prov uma forma mais geral de identificao, chamado de UniformResource Identifier (URI). Diferentes pessoas e organizaes podem, independentemente, cri-los e us-los para identificar objetos [9]. Os URIs podem ser criados para referir-se a qualquercoisa que precise ser referenciada em uma declarao, no somente a recursos com endereosna Web.

    Por causa da sua generalidade, RDF usa URIs como base do seu meca-nismo de identificao de sujeitos, predicados e objetos em declaraes. Para sermais preciso, RDF usa referncias URIs. Uma referncia URI um URI junta-mente com um identificador de fragmento opcional no final. Por exemplo, a re-ferncia URI http://www.exemplo.org/index.html#capitulo1 consiste doURI http://www.exemplo.org/index.html e do identificador de fragmentocapitulo1, separados pelo caracter #. Alm disso, referncias URIs em RDF podem con-ter caracteres Unicode [8], permitindo que vrias linguagens possam ser usadas em refernciasURIs.

    Para representar as declaraes RDF de forma que possam ser mais facilmente proces-sadas por mquinas, se usa a Extensible Markup Language (XML) [4]. Na representao deinformaes RDF e para o intercmbio entre mquinas, pode ser usada uma linguagem de mar-cao XML especfica, chamada de RDF/XML. Na Subseo 2.2, a seguir, se discute como possvel fazer declaraes sobre objetos usando-se URIs.

  • Resource Description Framework (RDF) 4

    http://www.exemplo.org/idpessoal/99458

    http://www.exemplo.org/index.html

    http://purl.org/dc/elements/1.1/creator

    Figura 1: Uma declarao RDF simples .

    2.2 O modelo RDFNa Subseo 2.1, foram abordados os conceitos bsicos de declaraes RDF, o uso de re-

    ferncias URIs e a sintaxe RDF/XML. Nesta seo ser descrito como RDF usa URIs para fazerdeclaraes sobre recursos. Em RDF, a declarao em portugus http://www.exemplo.org/index.html tem um criador cujo valor Mrio Sabino poderia ser representada daseguinte maneira:

    O sujeito: http://www.exemplo.org/index.html O predicado: http://purl.org/dc/elements/1.1/creator O objeto: http://www.exemplo.org/idpessoal/99458

    Ao invs de usar as palavras criador e Mrio Sabino para identificar o predicadoe o objeto, respectivamente, foram utilizadas referncias URIs. O RDF modela as declaraescomo ns e arcos em um grafo. Nesta notao, uma declarao representada por: um n parao sujeito, um n para o objeto e um arco para o predicado, dirigido do n sujeito para o nobjeto [9]. A declarao acima poderia ser representada por um grafo como mostra a Figura 1.

    Um conjunto de nomes chamado de vocabulrio. O vocabulrio de um grafo o con-junto de nomes que ocorrem como sujeito, predicado ou objeto de alguma tripla no grafo [7].

    Grupos de declaraes so representados por grupos correspondentes de ns e arcos. Porexemplo, sejam consideradas duas declaraes em portugus sobre um mesmo recurso:

    http://www.exemplo.org/index.html tem uma data de criao cujo valor 16 de Setembro de 2004

    http://www.exemplo.org/index.html tem uma linguagem cujo valor Por-tugus

    Estas declaraes podem ser representadas em um grafo RDF, como mostra a Figura 2,que ilustra como objetos em declaraes RDF podem ser referncias URI ou valores constantes(chamados de literais), representados por seqncias de caracteres. Literais no podem ser usa-dos como sujeitos ou predicados em declaraes RDF. No desenho de um grafo RDF, ns queso referncias URI so mostrados como elipses, enquanto ns que so literais so mostradoscomo caixas.

    Quando se deseja representar uma declarao RDF, o desenho de um grafo pode no sero meio mais conveniente. Ento, um caminho alternativo para escrever uma declarao RDFpode ser usado. Este caminho alternativo chamado de triplas RDF. Na notao de triplas, cadadeclarao no grafo escrita como uma tripla composta de sujeito, predicado e objeto, nesta

  • Resource Description Framework (RDF) 5

    Http://www.exemplo.org/idpessoal/99458

    http://www.exemplo.org/index.html

    http://purl.org/dc/elements/1.1/language

    Portugus

    16Setembro2004

    http://purl.org/dc/elements/1.1/creatorhttp://www.exemplo.org/termos/data-criacao

    Figura 2: Vrias declarao sobre o mesmo recurso.

    ordem. Ou seja, a descrio de uma tripla da forma: [sujeito, predicado, objeto].Por exemplo, as trs declaraes mostradas na Figura 2 podem ser escritas na notao de triplacomo mostra o Cdigo 1.

    Cdigo 1 Declaraes RDF em forma de triplas.1 2 3 .4

    5 6 7 "16 Setembro 2004".8

    9 10 11 "portugues".

    Cada tripla corresponde a um arco simples no grafo. Por exemplo, combase na Figura 2, a tripla (Cdigo 1, linhas 1 a 3), corresponde ao arcodo criador do recurso, , quecomea no n e termina no n. As outras triplas seguem omesmo raciocnio.

    Como foi mostrado no exemplo do Cdigo 1, a notao de triplas pode resultar emvrias linhas longas em uma pgina. Por convenincia, pode-se usar taquigrafia1 para seescrever triplas. Esta taquigrafia substitui uma referncia URI completa por uma abre-viao. Uma abreviao formada por um nome qualificado XML (tambm chamadode QName) sem os sinais de < (menor) e > (maior). Um QName formado por umprefixo associado a um namespace2 URI [3], seguido por dois pontos : e um nome

    1Escrita abreviada e simplificada.2Namespaces so usados para prevenir colises de nomes, isto , para identificar unicamente os elementos.

    Eles identificam uma parte da Web (espao) que atua como um qualificador para um conjunto especfico de nomes.

  • Resource Description Framework (RDF) 6

    local. Por exemplo, se o prefixo de QName carro associado ao namespace URIhttp://exemplo.org/automoveis/, ento o QName carro:corsa a taquigrafiapara a referncia URI http://exemplo.org/automoveis/corsa. A seguir so mos-trados alguns prefixos de QNames muito utilizados e seus respectivos namespaces URI:

    Prefixo rdf: namespace URI: http://www.w3.org/1999/02/22-rdf-syntax-ns# Prefixo rdfs: namespace URI: http://www.w3.org/2000/01/rdf-schema# Prefixo dc: namespace URI: http://purl.org/dc/elements/1.1/ (refere-se ao

    vocabulrio Dublin Core.)

    Prefixo owl: namespace URI: http://www.w3.org/2002/07/owl# Prefixo xsd: namespace URI: http://www.w3.org/2001/XMLSchema#

    Considerando-se o exemplo da Figura 2, pode-se definir os seguintes prefixos:

    Prefixo ex: namespace URI: http://www.exemplo.org/ (refere-se a uma organi-zao fictcia. Usada nos exemplos deste texto.)

    Prefixo extermos: namespace URI: http://www.exemplo.org/termos/ (termosusados pela organizao.)

    Prefixo expessoal: namespace URI: http://www.exemplo.org/idpessoal/(identificao dos funcionrios da organizao)

    O conjunto de triplas do Cdigo 1, usando-se os Qnames construdos a partir destes pre-fixos, pode ser reescrito como mostra o Cdigo 2.

    Cdigo 2 Declaraes RDF em forma de triplas usando Qnames.1 ex:index.html dc:creator expessoal:99458.2 ex:index.html extermos:data-criacao "16 Setembro 2004.3 ex:index.html dc:language "portugues".

    Pode-se perceber claramente que, desta forma, a escrita das triplas muito mais simplesdo que a forma usada no Cdigo 1. Assim, este novo formato prefervel, j que ambas asrepresentaes tm o mesmo significado.

    RDF usa referncias URIs ao invs de palavras para nomear coisas nas declaraes. Destaforma, um conjunto de referncias URIs forma o seu vocabulrio. Estas referncias URIs soorganizadas de forma que possam ser representadas como um conjunto de QNames que usamum prefixo comum [9], isto , uma referncia URI de um namespace comum ser escolhidapara todos os termos do vocabulrio. A definio de um vocabulrio pode ser feita da formaque melhor represente um domnio em questo.

    Referncias URIs de diferentes vocabulrios podem ser livremente misturadas em umgrafo RDF. Por exemplo, o grafo da Figura 2 usa referncias URIs de trs vocabulrios:extermos, expessoal e dc. RDF tambm no impe nenhuma restrio de como v-rias declaraes que usem uma mesma referncia URI como predicado, podem aparecer emum grafo para descrever o mesmo recurso. Por exemplo, o recurso ex:index.html pode

  • Resource Description Framework (RDF) 7

    ter sido criado por um esforo cooperativo de vrios membros da organizao exemplo.org.Esta a declarao pode ser descrita como mostra o Cdigo 3.

    Cdigo 3 Declarao RDF em forma de triplas sobre os vrios autores de um recurso.1 ex:index.html dc:creator expessoal:99458.2 ex:index.html dc:creator expessoal:14590.3 ex:index.html dc:creator expessoal:35871.

    Estes exemplos de declaraes RDF ilustram algumas vantagens do uso de refe-rncias URIs para identificao de recursos. Uma das vantagens que a identificaodo sujeito da declarao pode ser mais precisa, isto , o criador da pgina no aseqncia de caracteres Mrio Sabino, nem uma pessoa qualquer chamada Mrio Sa-bino, mas sim a pessoa chamada Mrio Sabino que est associada referncia URIhttp://www.exemplo.org/idpessoal/99458.

    O uso de referncias URIs como sujeitos, predicados e objetos em declaraes RDF per-mitem o desenvolvimento e uso de vocabulrios compartilhados na Web, desde que pessoas pos-sam descobrir e comear a usar vocabulrios criados por outros, refletindo em um entendimentocompartilhado destes conceitos. Este compartilhamento de vocabulrios um dos objetivos daWeb Semntica [2].

    Um predicado uma referncia URI e pode ser interpretado como um relacionamentoentre dois ns ou como uma definio de um valor para um atributo de um n sujeito [1], comomostra a tripla a seguir:

    ex:index.html dc:creator expessoal:99458 .

    Nesta tripla, o predicado dc:creator, quando expandido como uma referncia URI, uma referncia no-ambgua para o atributo creator no conjunto de atributos de meta-dados do Dublin Core. O escritor desta tripla est efetivamente mostrando que o relaciona-mento entre a pgina Web (http://www.exemplo.org/index.html) e o criador dapgina (http://www.exemplo.org/idpessoal/99458), exatamente o relaciona-mento identificado pelo conceito http://purl.org/dc/elements/1.1/creator.

    Entretanto, o uso de referncias URIs no resolvem todos os problemas de identifica-o. Por exemplo, pessoas podem usar diferentes referncias URIs para referenciar as mesmascoisas. Por esta razo, aconselhvel tentar usar termos de vocabulrios existentes quandopossvel, ao contrrio de reinventar a roda.

    2.3 Propriedades estruturadas e ns em brancoTodos os exemplos de declaraes em RDF mostrados nas sees anteriores possuem

    estruturas bastante simples. Entretanto, RDF permite fazer declaraes mais complexas, comopor exemplo, registrar o endereo de Mrio Sabino em uma estrutura onde rua, cidade, estadoe CEP esto em declaraes separadas. Informaes estruturadas, como um endereo, sorepresentadas em RDF agregando-se os objetos a serem descritos como um recurso e fazendo-se declaraes sobre o novo recurso, como ilustra a Figura 3.

    A Figura 3 mostra um grafo RDF que representa um endereo. Ele usa um n sem umareferncia URI para representar o endereo de Mrio Sabino. Este n em branco serve parapossibilitar a conectividade entre vrias partes de um grafo 3 [9].

    3Ns em branco so chamados de recursos annimos.

  • Resource Description Framework (RDF) 8

    http://www.exemplo.org/idpessoal/99458

    http://www.exemplo.org/termos/rua

    74280000Goinia

    GoisAv.85,3641

    http://www.exemplo.org/termos/endereco

    http://www.exemplo.org/termos/cep

    http://www.exemplo.org/termos/estado

    http://www.exemplo.org/termos/cidade

    Figura 3: Uso de n em branco.

    Algumas vezes necessrio representar um grafo que contm um n em branco na formade triplas. As triplas correspondentes Figura 3 podem ser representadas como mostra oCdigo 4.

    Cdigo 4 Triplas representado um grafo com n em branco.1 expessoal:99451 extermos:endereo ???.2 ??? extermos:rua "Av. 85, 3641".3 ??? extermos:cidade "Goinia".4 ??? extermos:estado "Gois".5 ??? extermos:cep "74280000".

    O sinal ??? indica a presena de um n em branco. Contudo, como grafos mais comple-xos podem conter vrios ns em branco, necessrio uma maneira para diferenciar os vriosns em branco em uma tripla. Assim, triplas devem usar identificadores de ns em branco.Segundo [9], estes identificadores tm a forma _:nome. No exemplo das triplas que repre-sentam o grafo da Figura 3, no lugar de ???, o identificador de um n em branco poderia ser_:enderecoMario.

    2.4 Literais tipadosUm literal tipado RDF formado por um par constitudo de uma seqncia de caracteres

    e uma referncia URI que identifica um tipo de dado particular [9]. Os dois elementos do parso separados pelo smbolo . Por exemplo, usando-se um literal tipado, a idade de MrioSabino poderia ser descrita como sendo o nmero inteiro 52, como mostra a Figura 4.

    Nos exemplos das sees anteriores, todos os valores constantes que servem como objetosnas declaraes RDF foram representados por literais no tipados. O uso de literais no tipados

  • Resource Description Framework (RDF) 9

    pode causar confuso. Por exemplo, caso o valor de um objeto em uma declarao RDF seja11, no se pode afirmar que 11 seja a idade de uma pessoa, uma seqncia de caracteresqualquer ou mesmo que seja um nmero no formato binrio.

    Http://www.exemplo.org/idpessoal/99451

    http://www.exemplo.org/termos/idade

    52^^http://www.w3.org/2001/XMLSChema#integer

    Figura 4: Um literal tipado para a idade de Mrio Sabino.

    A Figura 4 pode ser representada na forma de uma tripla, como mostrado a seguir:

    expessoal:99451 extermos:idade "52"xsd:integer .

    Diferentemente das linguagens de programao tpicas, RDF no possui o seu prprioconjunto de tipos de dados. Em vez disso, os tipos de dados usados em literais tipados RDF sodefinidos externamente e identificados pelo URI do tipo de dado.

    Um software chamado para processar dados RDF, que contenha referncias para tipos dedados, deve ser capaz de encontrar erros no processamento, caso encontre coisas estranhas,como acontece na tripla mostrada a seguir:

    expessoal:99451 extermos:idade "casa"xsd:integer .

    Esta tripla uma tripla RDF vlida mas, obviamente, contm um erro de tipos, uma vezque casa no do tipo xsd:integer. Logo, um software construdo para processar estesdados RDF deve ser capaz de tratar este tipo de erro. Na Seo 3, a seguir, ser discutida asintaxe RDF/XML para representao de grafos e triplas RDF em uma linguagem.

    3 Sintaxe RDF/XMLRDF prov uma sintaxe XML para o intercmbio e escrita de grafos RDF, chamada de

    RDF/XML. Para ilustrar esta sintaxe sero usados alguns exemplos. Assim, para uma declara-o em portugus: http://www.exemplo.org/index.html tem uma data de criaocujo valor 16 de Setembro de 2004., pode-se gerar o grafo RDF correspondente, conformemostrado na Figura 5. O Cdigo 5, mostra a sintaxe RDF/XML4 correspondente ao grafo destafigura.

    4Segundo Beckett [1], recomendado que os arquivos RDF/XML tenham a extenso .rdf em todas as plata-formas.

  • Resource Description Framework (RDF) 10

    http://www.exemplo.org/index.html

    http://www.exemplo.org/termos/data-criacao

    16Setembro2004

    Figura 5: Descrevendo-se a data de criao de uma pgina Web.

    Cdigo 5 Sintaxe RDF/XML correspondente a um grafo RDF.1 2 4

    5 6 16 Setembro 20047 8

    9

    A linha 1 uma declarao XML indicando que este um documento XML e qual averso da XML que est sendo usada. A linha 2 se inicia com o elemento rdf:RDF indicandoque o contedo XML vai representar um documento RDF. Depois do elemento rdf:RDF, apa-rece uma declarao de namespace XML, representando um atributo do elemento rdf:RDF.Esta declarao especifica que todas as tags com o prefixo rdf: so parte do namespace iden-tificado pela referncia URI http://www.w3.org/1999/02/22-rdf-syntax-ns#.Esta referncia URI usada para os termos do vocabulrio RDF.

    A linha 3 especifica outra declarao de namespace XML com o prefixo extermos.Tags com o prefixo extermos so usadas para os termos do vocabulrio definido pelo exemploda organizao, exemplo.org. As linhas 1-3 so, geralmente, necessrias para indicar que ocontedo RDF/XML e para identificar os namespaces que sero usados.

    As linhas 5-7 mostram, em RDF/XML, a declarao da Figura 5. O modo comoRDF/XML representa uma declarao RDF bastante simples: uma declarao RDF umadescrio a respeito do sujeito da declarao [9]. Esta descrio feita atravs de predicado(s)e objeto(s). A tag inicial rdf:Description, na linha 5, indica o incio de uma descri-o de um recurso e identifica o recurso que declarado, o qual vai ser descrito usando-seo atributo rdf:about. A linha 6 mostra uma propriedade do elemento com a tag QNameigual a extermos:data-criacao, para representar o predicado e o sujeito da declara-o. O contedo deste elemento de propriedade o objeto da declarao, 16 Setembro2004. O elemento de propriedade aninhado dentro do elemento rdf:Description indicaque esta propriedade aplicada ao recurso especificado no atributo rdf:about do elementordf:Description. A linha 7 indica o fim do elemento rdf:Description.

    A linha 9 indica o fim de uma declarao RDF. Vale lembrar que as linhas em branco,

  • Resource Description Framework (RDF) 11

    linha 4 e linha 8, so includas somente para facilitar a visualizao do cdigo.O cdigo anterior ilustra a idia bsica usada por RDF/XML para codificar um grafo

    RDF. Os ns e os predicados so representados por termos XML, ou seja, nomes de elementos,nomes de atributos, contedo de elementos e valores de atributos [1]. As referncias URIs depredicados so escritas como QNames XML. As referncias URIs de ns sujeitos so escritascomo valores de atributos XML. Ns literais so representados por caracteres de dados5 deelementos ou valores de atributos.

    Um mesmo recurso pode ter vrias propriedades e valores. Um caminho natu-ral codificar um elemento rdf:Description para cada propriedade. Entretanto,RDF/XML permite mltiplas propriedades de elementos aninhadas dentro de um mesmo ele-mento rdf:Description. Por exemplo, o Cdigo 2, mostra algumas declaraes sobrehttp://www.exemplo.org/index.html. Este grupo de declaraes pode ser escritousando-se a sintaxe RDF/XML, como mostra o Cdigo 6.

    Cdigo 6 Sintaxe RDF/XML correspondente a triplas RDF.1 2 5

    6 7 16 Setembro 20048 portugues9

    10 11

    12

    No Cdigo 6, a propriedade de elemento dc:creator (linha 9) representa uma propri-edade cujo valor um outro recurso, identificado por sua referncia URI. Alm disso, trs pro-priedades do sujeito esto representadas aninhadas dentro do elemento rdf:Description.

    RDF/XML pode tambm representar grafos que contm ns em branco. A Figura 6 mos-tra um grafo que contm um n em branco. Um n em branco representado em RDF/XMLusando-se o atributo rdf:nodeID, com um identificador do n em branco como seu valor[9]. Especificamente, uma declarao com um n em branco como sujeito pode ser escritaem RDF/XML usando-se um elemento rdf:Description com um atributo rdf:nodeID,ao invs do atributo rdf:about. Similarmente, uma declarao com um n em brancocomo seu objeto pode ser escrita usando-se uma propriedade de elemento com um atributordf:nodeID, ao invs de um atributo rdf:resource. O cdigo em RDF/XML correspon-dente Figura 6 mostrado no Cdigo 7.

    5Os caracteres entre tags de incio e fim, que representam dados.

  • Resource Description Framework (RDF) 12

    http://www.exemplo.org/livros/MA045

    http://purl.org/dc/elements/1.1/title

    http://www.machado.org MachadodeAssis

    OAlienista

    http://www.exemplo.org/termos/escritor

    http://www.exemplo.org/termos/homepage

    http://www.exemplo.org/termos/nome

    Figura 6: Um grafo contendo um n em branco.

    Cdigo 7 Sintaxe RDF/XML correspondente a um grafo RDF com n em branco.1 2 5

    6 7 O Alienista8 9

    10

    11 12 Machado de Assis13 14 15

    16

    Neste cdigo, o identificador do n em branco ma usado na linha 11 para identificar on em branco como o sujeito de vrias declaraes, e usado na linha 8, para indicar que o nem branco o valor da propriedade de recurso extermos:escritor.

    A sintaxe RDF/XML tambm pode representar literais tipados. Um literal tipado repre-sentado em RDF/XML adicionando-se o atributo rdf:datatype. Por exemplo, a declaraoa seguir:

    ex:index.html extermos:data-criacao 24-04-2004 xsd:date .

    pode ser representada, na sintaxe RDF/XML, como mostrado no Cdigo 8.

  • Resource Description Framework (RDF) 13

    Cdigo 8 Sintaxe RDF/XML correspondente a triplas RDF com um literal tipado.1 2 4

    5 6 24-04-20048 9

    10

    11

    Na Subseo 3.1, a seguir, apresenta-se uma discusso sobre os continers que permitemdescrever grupos de recursos.

    3.1 Continer RDFRDF oferece mecanismos que possibilitam a descrio de grupos de recursos ou valores,

    chamados de continers [9]. Um continer um recurso que contm objetos, sendo esteschamados de membros. Os membros de um continer podem ser recursos ou literais. RDFdefine trs tipos de continers: Bag, Sequence ou Seq e Alternative ou Alt [9].

    Uma Bag (tipo rdf:Bag) representa um grupo de recursos ou de valores no ordenados,utilizados para declarar que uma propriedade pode ser composta de mltiplos valores, indepen-dentes da ordem de atribuio [10]. Valores duplicados so permitidos.

    Uma Sequence (tipo rdf:Seq) representa um grupo de recursos ou de valores ordena-dos, utilizados para declarar que uma propriedade pode ser composta de mltiplos valores queobedecem uma determinada ordem [10]. Valores duplicados so permitidos.

    Uma Alternative (tipo rdf:Alt) representa um grupo de recursos ou de valores queapresentam valores possveis para uma propriedade, ou seja, apresentam vrias alternativas parauma propriedade [10].

    Para descrever um recurso como sendo um tipo de continer, o recurso recebe uma pro-priedade rdf:type cujo valor um dos tipos predefinidos, ou seja, Bag, Seq ou Alt. Osmembros de um continer podem ser descritos pela definio de uma propriedade de associaoao continer para cada membro, onde o continer o sujeito e os membros so os objetos [9].Estas propriedades de associao possuem nomes, que seguem a forma rdf:_n, onde n um inteiro decimal maior do que zero.

    Um uso tpico de um continer para indicar que o valor de uma propriedade um grupode coisas. Por exemplo, para representar a declarao A fbrica 2.15 tem os diretores Alberto,Tatiane e Jeov, diretores poderia ser descrito pela propriedade d:diretores cujo valor um continer do tipo rdf:Bag, contendo um grupos de pessoas, como mostra o grafo daFigura 7. A sintaxe RDF/XML oferece uma sintaxe especial e abreviaes para descrevercontiners. O Cdigo 9, descreve a Figura 7 usando esta sintaxe.

  • Resource Description Framework (RDF) 14

    http://exemplo.org/diretores/vocab#diretores

    Http:www.w3.org/1999/02/22-rdf-syntax-ns#type

    http:www.w3.org/1999/02/22-rdf-syntax-ns#_1

    http:www.w3.org/1999/02/22-rdf-syntax-ns#_2

    http:www.w3.org/1999/02/22-rdf-syntax-ns#_3

    http://exemplo.org/fabrica/2.15 http:www.w3.org/1999/02/22-rdf-syntax-ns#Bag

    http://exemplo.org/diretores/Alberto

    http://exemplo.org/diretores/Tatiane

    http://exemplo.org/diretores/Jeov

    Figura 7: Descrio de um continer Bag.

    Cdigo 9 Sintaxe RDF/XML correspondente descrio de um continer Bag.1 2 4

    5 6 7 8 9

    10 11 12 13 14

    15

    O Cdigo 9 inclui o elemento rdf:li para evitar o uso de nmeros para cada proprie-dade associada. Ele equivalente a rdf:_1, rdf:_2 e rdf:_3. O elemento aninhado dentro do elemento .

    A estrutura de um grafo para um continer rdf:Seq e a sintaxe RDF/XML correspon-dente similar rdf:Bag. Um continer Alt possui sintaxe RDF/XML similar rdf:Bag,contudo, um continer Alt deve ter pelo menos um membro, identificado pela propriedaderdf:_1. Este membro deve ser considerado como valor padro. Na Subseo 3.2 a seguir, sediscute outra forma de agrupar recursos em RDF, as colees.

  • Resource Description Framework (RDF) 15

    3.2 Colees RDFUma limitao do uso de continers que no h uma forma para dizer coisas como estes

    so todos os diretores da fbrica x, por exemplo. Um continer somente diz que certos recursosso membros de determinado recurso, mas no diz se existem outros membros. RDF permitedescrever grupos contendo somente membros especificados, chamados de colees RDF.

    Uma coleo RDF um grupo de objetos representado como uma lista estruturada em umgrafo RDF [9]. Esta lista estruturada construda usando-se um vocabulrio predefinido. Co-lees permitem estruturas ramificadas e tm uma terminao de elementos explcita, ou seja,permitem que as aplicaes determinem o conjunto exato de itens na coleo [7]. Este voca-bulrio consiste do tipo predefinido rdf:List, das propriedades predefinidas rdf:First erdf:rest e do recurso predefinido rdf:nil [9]. Por exemplo, a declarao A fbrica 2.15tem os diretores Alberto, Tatiane e Jeov e mais ningum, poderia ser representada usando-seo grafo mostrado na Figura 8.

    http://exemplo.org/fabrica/2.15

    http://exemplo.org/diretores/vocab#diretores http://exemplo.org/diretores/Alberto

    http:www.w3.org/1999/02/22-rdf-syntax-ns#rest

    http:www.w3.org/1999/02/22-rdf-syntax-ns#first

    http://exemplo.org/diretores/Tatiane

    http:www.w3.org/1999/02/22-rdf-syntax-ns#first

    http:www.w3.org/1999/02/22-rdf-syntax-ns#rest

    http:www.w3.org/1999/02/22-rdf-syntax-ns#resthttp://exemplo.org/diretores/Jeov

    http:www.w3.org/1999/02/22-rdf-syntax-ns#first

    http:www.w3.org/1999/02/22-rdf-syntax-ns#nil

    Figura 8: Descrio de uma coleo RDF.

    No grafo da Figura 8, cada membro da coleo um objeto de uma propriedaderdf:first, cujo sujeito (um n em branco neste exemplo) um recurso que representa umalista. Esta lista de recursos ligada ao resto da lista pela propriedade rdf:rest. O fim dalista indicado pela propriedade rdf:rest tendo como seu objeto o recurso rdf:nil. Orecurso rdf:nil representa uma lista vazia e definido como sendo do tipo rdf:List.

    Na sintaxe RDF/XML, uma coleo pode ser descrita por uma propriedade de elementoque tem o atributo rdf:parseType:Collection e que contm um grupo de elementosaninhados que representam os membros da coleo [9]. O atributo rdf:parseType indica

  • Resource Description Framework (RDF) 16

    que o contedo de um elemento ser interpretado de um modo especial. No caso de coleo, oatributo rdf:parseType:Collection indica que os elementos so usados para criaruma lista estruturada no grafo RDF. O Cdigo 10, mostra o cdigo RDF/XML correspondente Figura 8.

    Cdigo 10 Sintaxe RDF/XML correspondente descrio de uma coleo RDF.1 2 4

    5 6 7 9 11 13 14 15

    16

    Na Subseo 3.3 a seguir, apresentado o mecanismo de reificao que permite fazerdeclaraes sobre declaraes.

    3.3 Declaraes sobre declaraesO modelo RDF permite descrever suas prprias declaraes atravs do mecanismo de

    reificao. Segundo Manola e Miller [9], uma reificao em RDF permite que um enunciado(statement) possa ser tratado como um recurso com quatro propriedades:

    sujeito (subject): define o recurso que est sendo descrito pela declarao modelada, isto, o valor o recurso sobre o qual a declarao original feita;

    predicado (predicate): identifica a propriedade original da declarao modelada; objeto (object): identifica o valor da propriedade em uma declarao modelada; tipo (type): descreve o tipo do novo recurso. Todas as declaraes reificadas so instncias

    do rdf:statement.

    O Cdigo 11, mostra uma reificao de uma declarao sobre o preo de um carro.Esta declarao nomeada com referncia URI exprodutos:tripla09 (linha 1). Naslinhas seguintes, so feitas declaraes a respeito desta declarao. Assim, a linha 2 especificaseu sujeito; a linha 3 o seu predicado; e a linha 4 o objeto do predicado.

    A Figura 9 mostra a declarao representada no Cdigo 11. No Cdigo 12, a mesmarepresentao feita na forma de RDF/XML.

  • Resource Description Framework (RDF) 17

    Cdigo 11 Triplas representado uma reificao.1 exprodutos:tripla09 rdf:type rdf:Statement.2 exprodutos:tripla09 rdf:subject exprodutos:item159.3 exprodutos:tripla09 rdf:predicate extermos:preco.4 exprodutos:tripla09 rdf:object "20.000"^^xsd:decimal.

    http:www.w3.org/1999/02/22-rdf-syntax-ns#Statement

    http:www.w3.org/1999/02/22-rdf-syntax-ns#type

    http:www.w3.org/1999/02/22-rdf-syntax-ns#subject

    http://www.exemplo.org/2004/produtos#item159

    http://www.exemplo.org/2004/produtos#tripla09

    http:www.w3.org/1999/02/22-rdf-syntax-ns#predicate

    http://www.exemplo.org/termos/preco

    http:www.w3.org/1999/02/22-rdf-syntax-ns#object

    http://www.exemplo.org/termos/preco

    20.000^^http://www.w3.org.2001/XMLSchema#decimal

    20.000^^http://www.w3.org.2001/XMLSchema#decimal

    Figura 9: Uma declarao, sua reificao e sua atribuio.

  • Resource Description Framework (RDF) 18

    Cdigo 12 Sintaxe RDF/XML para uma reificao.1 2 6

    7 8

  • Resource Description Framework (RDF) 19

    Um Esquema RDF possui um vocabulrio RDF que um conjunto predefinido de re-cursos RDF com seu prprio significado especial [9]. Estes recursos tm uma referncia URIcom o prefixo http://ww.w3.org/2000/02/rdf-schema# (associado com o QNamerdfs:). Na Subseo 4.1, a seguir, apresentada a noo de classes em Esquemas RDF.

    4.1 ClassesSegundo Hayes [7], classes em Esquemas RDF podem ser consideradas como algo a mais

    do que simples conjuntos. Elas correspondem ao conceito genrico de um Tipo ou Categoria,como a noo de classes em linguagens orientadas a objetos[9].

    Com a utilizao de classes, o modelo RDF torna-se extensvel, pois as definies de es-quemas existentes podem ser herdadas, especializando metadados de um determinado domnio,promovendo o reuso e o compartilhamento de esquemas [6]. O reuso e o compartilhamento deesquemas so fatores fundamentais para a consolidao da Web Semntica.

    Classes RDF podem ser usadas para representar quase todas as coisas, tais como pginasWeb, pessoas ou conceitos abstratos. As classes so geralmente identificadas por refernciasURIs. Classes so descritas usando-se rdfs:Class e rfds:Resource e as propriedadesso descritas usando-se rdf:type e rdfs:subClassOf. Os recursos que pertencem auma classe so chamados de suas instncias. As classes so recursos por si mesmas [5]. Asinstncias so indicadas atravs da propriedade rdf:type.

    Em um Esquema RDF, uma classe algum recurso que tem uma propriedade rdf:typecujo valor o recurso rdfs:Class. O Cdigo 13, mostra uma tripla em um Esquema RDFque descreve uma classe de veculo a motor de uma organizao, por exemplo, exemplo.org,que deseja criar um esquema em RDF para representar diferentes tipos de veculos a motor.

    Cdigo 13 Uma tripla representado uma classe.1 sve:VeiculoMotor rdf:type rdfs:Class.

    O prefixo sve: refere-se a http://www.exemplo.org/schemas/veiculos.O Cdigo 14 mostra o cdigo RDF/XML para descrever a declarao da classesve:VeiculoMotor, representada em forma de tripla no Cdigo 13.

    Cdigo 14 Sintaxe RDF/XML para declarao de uma classe.1 2 3

  • Resource Description Framework (RDF) 20

    excarro:onibusXY rdf:type sve:VeiculoMotor.

    Segundo [5], RDF distingue uma classe e o conjunto de suas instncias. Associado cadaclasse est o conjunto de suas instncias, chamado de extenso de classe. Duas classes podemter o mesmo conjunto de instncias, mesmo sendo classes diferentes.

    A declarao anterior usa a conveno, no obrigatria em RDF Schema, de que os nomesde classes so escritos com a primeira letra maiscula, enquanto os nomes de propriedades einstncias so escritos com a primeira letra minscula.

    Este Esquema RDF permite relacionamentos entre classes. O relacionamento de especia-lizao entre duas classes descrito usando-se a propriedade predefinida rdfs:subClassOf.O Cdigo 15, mostra que sve:Van uma classe e uma especializao da classesve:VeiculoMotor. O significado do relacionamento rdfs:subClassOf que qual-quer instncia da classe sve:Van uma instncia da classe sve:VeiculoMotor [9]. Apropriedade rdfs:subClassOf transitiva [5], como mostra o Cdigo 16.

    Cdigo 15 Uma tripla representado uma subclasse.1 sve:Van rdf:type rdfs:Class.2 sve:Van rdfs:subClassOf sve:VeiculoMotor.

    Cdigo 16 Uma tripla mostando que rdfs:subClassOf transitiva.1 sve:Van rdfs:subClassOf rdfs:VeiculoMotor.2 sve:MiniVan rdfs:subClassOf sve:Van.

    Um Esquema RDF define que sve:MiniVan tambm uma subclasse desve:VeiculoMotor. Com isso, os recursos que so instncias sve:MiniVan tambm soinstncias da classe sve:VeiculoMotor. Uma classe pode ser subclasse de uma ou maisclasses [9]. Todas as classes, em RDF Schema, so subclasses da classe rdfs:Resource[9]. A Figura 10 mostra uma hierarquia de classes que cria um esquema sobre o domnio deveculos.

    A sintaxe RDF/XML que representa o grafo da Figura 10 mostrado no Cdigo 17.Na Subseo 4.2, a seguir, se discute sobre as propriedades que representam as relaes entreclasses e instncias das classes em RDF Schema.

  • Resource Description Framework (RDF) 21

    Http://www.exemplo.org/schemas/veiculos#VeiculoMotor

    http://www.exemplo.org/schemas/veiculos

    #Caminho

    http://www.exemplo.org/schemas/veiculos

    #VeiculoPassageiro

    http://www.exemplo.org/schemas/veiculos#Van

    http://www.exemplo.org/schemas/veiculos#MiniVan

    http:www.w3.org/2000/01/rdf-schema#subClassOf

    http:www.w3.org/2000/01/rdf-schema#subClassOf

    http:www.w3.org/2000/01/rdf-schema#subClassOf

    http:www.w3.org/2000/01/rdf-schema#subClassOf

    http:www.w3.org/2000/01/rdf-schema#subClassOf

    Figura 10: Hierarquia de classes.

    Cdigo 17 A sintaxe RDF/XML representando uma hierarquia de classes.1 2 5

    6 7

    8 9

    10 11

    12 13 14 15

    16 17 18 19

    20 21 22 23 24

    25

  • Resource Description Framework (RDF) 22

    4.2 PropriedadesPropriedades permitem expressar relaes entre classes e suas instncias ou superclas-

    ses [9]. Em um Esquema RDF, as propriedades so descritas usando-se a classe RDFrdf:Property e as propriedades RDF rdfs:range e rdfs:domain e de um EsquemaRDF rdfs:subPropertyOf.

    Todas as propriedades em RDF so descritas usando-se a classe rdf:Property6 e apropriedade de um Esquema RDF rdfs:subPropertyOf 7. Logo, uma nova propriedade,como extermos:marca, por exemplo, descrita nomeando-a com um URI e descrevendo-acom uma propriedade rdf:type cujo valor o recurso rdf:Property, como mostradoa seguir:

    extermos:marca rdf:type rdf:Property .

    Alm disso, um Esquema RDF permite estabelecer restries sobre as propriedades de umrecurso. So elas: rdfs:range e rdfs:domain. A restrio rdfs:range usada paraindicar que os valores de uma determinada propriedade so instncias de uma ou mais classes[9]. Em outras palavras, a restrio rdfs:range limita os valores que podem ser aplicados auma determinada propriedade. O Cdigo 18 mostra uma declarao em triplas RDF de um cen-rio onde a organizao exemplo.org quer indicar que a propriedade sve:proprietariopossui valores que so instncias da classe sve:VeiculoMotor,

    Cdigo 18 Uso da propriedade range.1 sve:VeiculoMotor rdf:type rdfs:Class.2 sve:proprietario rdf:type rdf:Property.3 sve:proprietario rdfs:range sve:VeiculoMotor.

    A declarao do Cdigo 18, indica que sve:VeiculoMotor uma classe, quesve:proprietario uma propriedade e que a declarao RDF, usando a propriedadesve:proprietario, possui instncias da classe sve:VeiculoMotor como objetos. Arestrio rdfs:range pode ser tambm aplicada para indicar que o valor de uma propriedade um literal tipado. Por exemplo, a exemplo.org poderia querer indicar que a propriedadesve:preco tem valores do tipo de dados do XML Schema xsd:integer.

    Uma propriedade pode ter zero, uma ou mais de uma propriedades com a restrio range[9]. Quando uma propriedade (ex:selvagem, por exemplo) no tem uma propriedade com arestrio range, ento, nada dito sobre seus valores. Se a propriedade ex:selvagem temcomo restrio range a classe ex:Carnvoro, ento, se diz que os valores da propriedadeex:selvagem so instncias da classe ex:Carnivoro. Se a propriedade ex:selvagemtem mais de uma restrio range, ou seja, se a propriedade ex:selvagem tem como restri-es range a classe ex:Carnivoro e a classe ex:Predador, ento, se diz que os valoresda propriedade ex:selvagem so instncias das classes ex:Carnivoro e ex:Predador.

    A restrio rdfs:domain usada para especificar a classe na qual determinada propri-edade pode ser aplicada [9]. Em outras palavras, a restrio rdfs:domain limita as instnciasde classes que podem utilizar uma determinada propriedade. O Cdigo 19, mostra um cenrioonde a organizao exemplo.org quer indicar que a propriedade sve:marca aplicada atodas as instncias da classe sve:VeiculoMotor.

    6Similar noo de atributo em orientao a objetos.7Denota a relao de especializao entre duas propriedades.

  • Resource Description Framework (RDF) 23

    Cdigo 19 Uso da propriedade domain.1 sve:VeiculoMotor rdf:type rdfs:Class.2 sve:marca rdf:type rdf:Property.3 sve:marca rdfs:domain sve:VeiculoMotor.

    A declarao do Cdigo 19, indica que sve:VeiculoMotor uma classe, quesve:marca uma propriedade e que as declaraes RDF que usem esta propriedade devempossuir instncias da classe sve:VeiculoMotor como sujeito.

    Uma propriedade pode ter zero, uma ou mais de uma restrio domain [9]. Quandouma propriedade, como extermos:porta, no tem uma restrio domain, ento, nada dito sobre quais instncias de classes podem usar a propriedade extermos:porta, ouseja, qualquer instncia de qualquer classe pode ter uma propriedade extermos:porta.Se a propriedade extermos:porta tem uma restrio domain, especificando ex:Carrocomo domnio, ento dito que a propriedade extermos:porta pode ser aplicada s ins-tncias da classe ex:Carro. Se a propriedade extermos:porta tem mais de uma restri-o domain, ou seja, uma especificando ex:Carro como domnio e a outra especificandoex:Geladeira como domnio, ento dito que qualquer instncia de uma classe que temuma propriedade extermos:porta, uma instncia da classe ex:Carro e tambm daclasse ex:Geladeira. Com estes exemplos, percebe-se que a especificao de restriesrange e domain devem serem usadas com muito cuidado.

    Um Esquema RDF permite a especializao de propriedades. Este relacionamentode especializao entre duas propriedades descrito usando-se a propriedade predefi-nida rdfs:subPropertyOf [9]. Por exemplo, se sve:motoristaProfissionale sve:motorista so propriedades, poderia ser declarado que a propriedadesve:motoristaProfissional uma especializao da propriedade sve:motorista.Esta declarao mostrada no Cdigo 20.

    Cdigo 20 Especializao de propriedades.1 sve:motorista rdf:type rdfs:Property.2 sve:motoristaProfissional rdf:type rdfs:Property.3 sve:motoristaProfissional rdfs:subPropertyOf sve:motorista.

    O significado do relacionamento rdfs:subPropertyOf pode ser visualizadoda seguinte maneira: se a instncia expessoa:Pedro o valor da propriedadesve:motoristaProfissional da instncia sve:transTur, ento, um Esquema RDFdefine que a expessoa:Pedro , tambm, o valor da propriedade sve:motorista dainstncia sve:transTur. Uma propriedade pode ser uma sub-propriedade de zero, uma oumais propriedades. Todas as restries rdfs:range e rdfs:domain que se aplicam a umapropriedade RDF tambm se aplicam a cada uma das suas sub-propriedades.

    O Cdigo 21 mostra um esquema de veculo completo, ilustrando as caractersticas deum Esquema RDF discutidas nos exemplos anteriores. Este exemplo mostra como descre-ver classes e propriedades usando-se um Esquema RDF. Logo, resta mostrar como as ins-tncias usam estas classes e propriedades. O Cdigo 22 descreve uma instncia da classesve:VeiculoPassageiro juntamente com valores para suas propriedades.

  • Resource Description Framework (RDF) 24

    Cdigo 21 Um esquema completo de veculos em um Esquema RDF.1 2 5

    6 7

    8 9

    10 11

    12 13 14 15

    16 17 18 19

    20 21 22 23 24

    25 26

    27 29

    30 31 32 33 34

    35 36 37 39 40

    41 42 43 44

    45 46 47 48

    49

  • Resource Description Framework (RDF) 25

    Cdigo 22 Descrio de uma instnciua da classe sve:VeiculoPassageiro.1 2 5

    6 7 9 11 46 12 14 15

    Na prxima Subseo so apresentadas algumas outras propriedades de um EsquemaRDF.

    4.3 Outras propriedadesUm Esquema RDF tem outras propriedades [5] que podem ser usadas para documentao

    e outras informaes sobre o prprio esquema ou sobre suas instncias [9]. As principais so:

    rdfs:comment : pode ser usada para descrever um recurso em formato adequado paraser lido por seres humanos;

    rdfs:label : pode ser usada para indicar a verso do nome de um recurso em formatoadequado para ser lido por seres humanos;

    rdfs:seeAlso: pode ser usada para indicar um recurso que contm informaes adi-cionais a respeito do recurso em questo;

    rdfs:isDefinedBy : uma sub-propriedade da propriedade rdfs:seeAlso queindica o recurso que define o recurso em questo.

    5 Consideraes FinaisO objetivo da Web Semntica tentar resolver os problemas da Web atual, ou seja, tornar

    as informaes mais fceis de serem manipuladas por computadores. Segundo Berners-Lee [2],para a Web Semntica funcionar de forma efetiva, computadores tm que ter acesso coleesestruturadas de informaes e conjuntos de regras de inferncia para que seja administrado oraciocnio automatizado, ou seja, a representao do conhecimento.

    Existe um consenso de que esta representao s possvel a partir do uso de metada-dos (dados que fazem referncia a outros dados e so destinados ao consumo das mquinas),constituindo no fator bsico para promover integrao e intercmbio de informao entre fontesheterogneas e distribudas [10]. Contudo, para que o conhecimento possa ser representado

  • Resource Description Framework (RDF) 26

    a partir de diferentes padres de metadados e ainda assim ser interopervel, so necessriasarquiteturas de alto nvel, capazes de acomodar essa diversidade de padres.

    O principal objetivo de uma arquitetura de metadados representar e dar suporte ao trans-porte de uma grande variedade de esquemas de metadados num ambiente distribudo, provendointeroperabilidade. RDF uma arquitetura genrica de metadados que permite descrever re-cursos no contexto da Web atravs de padres de metadados, visando o processamento pormquina.

    RDF permite a definio de vocabulrios atravs de um Esquema RDF, que uma lingua-gem para descrever um vocabulrio RDF, permitindo hierarquias de classes e propriedades. UmEsquema RDF define a semntica para um domnio particular, embora com pouca expressivi-dade. Portanto, RDF eleva as perspectivas de um padro amplamente aceito para representaode informaes na Web.

    Por estas razes, se pode observar que o RDF/Esquema RDF uma das tecnologias chavepara consolidao da Web Semntica. Alm disso, RDF utiliza a sintaxe da linguagem XMLpara expressar o significado dos recursos. Esta linguagem considerada, atualmente, a lingua-gem mais importante para representao e troca de dados na Web [11].

    6 AgradecimentoAo Prof. Dr. Joo Carlos da Silva pela avaliao do presente texto e pelas sugestes

    feitas, as quais muito contribuiram para a melhoria do texto original.

    Referncias[1] BECKETT, D. RDF/XML Syntax Specification. http://www.w3.org/TR/2004/

    REC-rdf-syntax-grammar-20040210/, acessado em Junho de 2005, Fevereiro2004.

    [2] BERNERS-LEE, T; HENDLER, J; LASSILA, O. The Semantic Web. Scientific Ameri-can, May 2001.

    [3] BRAY, T; HOLLANDER, D; LAYMAN, A; TOBIN, R. Namespaces in XML1.1. http://www.w3.org/TR/2004/REC-xml-names11-20040204/, aces-sado em Junho de 2005, Fevereiro 2004.

    [4] BRAY, T; PAOLI, J; SPERBERG-MCQUEEN, C. M; YERGEAU, F. Extensible MarkupLanguage (XML) 1.0. http://www.w3.org/TR/2004/REC-xml-20040204/,acessado em Junho de 2005, Fevereiro 2004.

    [5] BRICKLEY, D; GUHA, R. RDF Vocabulary Description Language 1.0: RDF Schema.http://www.w3.org/TR/2004/REC-rdf-schema-20040210/, acessado emJunho de 2005, Fevereiro 2004.

    [6] CARNEIRO, M. Gerao Automtica de Metadados. Projeto Final de Curso. Institutode Informtica - UFG, 2003.

    [7] HAYES, P. RDF Semantics. http://www.w3.org/TR/2004/REC-rdf-mt-20040210/, acessado em Junho de 2005, Fevereiro 2004.

  • Resource Description Framework (RDF) 27

    [8] INC., U. Unicode Home Page. http://www.unicode.org/, acessado em Setem-bro de 2005.

    [9] MANOLA, F; MILLER, E. RDF Primer. http://www.w3.org/TR/2004/REC-rdf-primer-20040210/, acessado em Junho de 2005, Fevereiro 2004.

    [10] MOURA, A. A Web Semntica: Fundamentos e Tecnologias. http://www.ipanema.ime.eb.br/~anamoura/publicacoes.html, acessado em Junho de2005.

    [11] W3C. Home Page. http://www.w3.org/, acessado em Junho de 2005.