Descrevendo Recursos na Web com RDF (Parte 2) Mini-Curso Introdução à Web Semântica Abril de 2009 Descrevendo Recursos na Web com RDF (Parte 2) André D Jardim Luiz A M Palazzo Centro Politécnico Universidade Católica de Pelotas
Roteiro Idéias Básicas do RDF Sintaxe Baseada em XML Conceitos Básicos de RDF-Esquema A Linguagem de RDF-Esquema Namespaces para RDF e RDFS Semântica Axiomática para RDF e RDFS Semãntica baseada em regras de inferência Consulta a Documentos RDF/RDFS usando RQL Descrevendo Recursos na Web com RDF - Parte 2
Sintaxe Baseada em XML Um documento RDF consiste em um elemento <rdf:RDF> O conteúdo deste elemento é um certo número de descrições. Um mecanismo de namespaces é utilizado: Para evitar ambigüidades. Espera-se que os namespaces correspondam a documentos RDF definindo recursos que possam ser reutilizados. Dando origem a grandes coleções de conhecimento distribuído. Descrevendo Recursos na Web com RDF - Parte 2
Exemplo de Cursos Universitários <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:uni="http://www.mydomain.org/uni-ns"> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> <uni:age rdf:datatype="&xsd:integer">27<uni:age> </rdf:Description> Descrevendo Recursos na Web com RDF - Parte 2
Exemplo de Cursos Universitários (2) <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Maths</uni:courseName> <uni:isTaughtBy>David Billington</uni:isTaughtBy> </rdf:Description> <rdf:Description rdf:about="CIT2112"> <uni:courseName>Programming III</uni:courseName> <uni:isTaughtBy>Michael Maher</uni:isTaughtBy> </rdf:RDF> Descrevendo Recursos na Web com RDF - Parte 2
rdf:about x rdf:ID Um elemento rdf:Description apresenta: Um atributo rdf:about indicando que o recurso foi definido em algum outro lugar, ou Um atributo rdf:ID indicando que o recurso está definido localmente. Formalmente não existe isso de “definir” um objeto em um lugar e referenciá-lo em outro. Algumas vezes é útil, entretanto, usar um local para as definições básicas e outros locais para estabelecer propriedades adiciomnais. Descrevendo Recursos na Web com RDF - Parte 2
Elementos e Propriedades Conteúdo dos elementos rdf:Description. <rdf:Description rdf:about="CIT3116"> <uni:courseName>Knowledge Representation</uni:courseName> <uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy> </rdf:Description> uni:courseName e uni:isTaughtBy definem dois pares propriedade-valor para CIT3116 (duas declarações RDF) que são lidos conjuntamente. Descrevendo Recursos na Web com RDF - Parte 2
Tipos de Dados O atributo rdf:datatype="&xsd:integer" indica o tipo de valor da propriedade age. <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> <uni:age rdf:datatype="&xsd:integer">27</uni:age> </rdf:Description> Descrevendo Recursos na Web com RDF - Parte 2
Tipos de Dados (2) A propriedade age foi definida tendo "&xsd:integer" como seu range Ainda assim é necessário indicar o tipo de valor desta propriedade cada vez que ela for usada. Isto é para assegurar que um processador RDF possa conhecer o tipo correto do valor da propriedade, mesmo que a correspondente definição do RDF-Esquema não tenha sido “vista” antes. Este é um cenário muito provável de ocorrer na Web. Descrevendo Recursos na Web com RDF - Parte 2
O Atributo rdf:resource O relacionamento entre disciplinas (courses) e instrutores (lecturers) não foi formalmente definido no exemplo, apesar de estar implícito no uso do mesmo nome. Entretanto, o uso do mesmo nome não passa de mera coincidência para uma máquina. Pode-se denotar que as duas entidades são a mesma usando o atributo rdf:resource. Descrevendo Recursos na Web com RDF - Parte 2
O Atributo rdf:resource (2) <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Mathematics</uni:courseName> <uni:isTaughtBy rdf:resource="949318"/> </rdf:Description> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> Descrevendo Recursos na Web com RDF - Parte 2
Referenciando Recursos Externamente Definidos P. ex., para referenciar o recurso CIT1111, externamente definido http://www.mydomain.org/uni-ns#CIT1111 como o valor de rdf:about www.mydomain.org/uni-ns é a URI onde a definição de CIT1111 é encontrada. Uma descrição com um ID define um fragmento URI, que pode ser usado para referenciar a descrição definida. Descrevendo Recursos na Web com RDF - Parte 2
Descrições Aninhadas: Exemplo <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Maths</uni:courseName> <uni:isTaughtBy> <rdf:Description rdf:ID="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description> </uni:isTaughtBy> Descrevendo Recursos na Web com RDF - Parte 2
Descrições Aninhadas Descrições podem ser definidas dentro de outras descrições. Ainda que uma descrição possa ser definida dentro de outra descrição, seu escopo é global. Descrevendo Recursos na Web com RDF - Parte 2