Introducción a RDF. Fundamentos de la Web Semántica. Documentos. Breve historia. Objetivos RDF. Modelo de datos RDF. Pablo R.



Documentos relacionados
RDF avanzado. Fundamentos de la Web Semántica. Objetivos. Vocabulario RDF. RDF avanzado. Semántica. Pablo R. Fillottrani. Introducción a SPARQL

Tres vistas de una Declaración

RDF. Jose Emilio Labra Gayo. Departamento de Informática Universidad de Oviedo

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Introducción a la Web Semántica

WEB SEMÁNTICA (PARTE I): VISTA GENERAL DE RDF

INTERPRETACION DE DOCUMENTOS HTML VIA RDF SCHEMA

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Ontologías. Santi García Jiménez

RDF. Grecia García García

Ingeniería del Software I

CAMINANDO HACIA LA WEB SEMÁNTICA

Introducción a la Computación TFA

Proyecto Unico Interpretador de SetCalc

Buscadores basados en agentes inteligentes

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

Lenguajes para la Web Semántica deben:

Norma Técnica ICONTEC 5854 ACCESIBILIDAD A PAGINAS WEB

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

Sistemas de Información 12/13 XML (extensible Mark-up Language)

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Capítulo 1 Documentos HTML5

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Norma Técnica ICONTEC 5854 ACCESIBILIDAD A PAGINAS WEB

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

GRAFOS. Prof. Ing. M.Sc. Fulbia Torres

Seminario Web Semántica y Ontologías

Espacios de Nombres. Documentación Electrónica. Soto Montalvo

Introducción. Metadatos

Web Semántica. Partimos de la siguiente estructura de relaciones (tablas).

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Características de funciones que son inversas de otras

LENGUAJES DE CONSULTA ORIENTADOS A OBJETOS

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Creación y administración de grupos de dominio

Ingeniería de Software I

MANUAL DE USUARIO. Webservice simple para la exportación rápida de información proveniente de una base de datos. Versión 0,1,1

Recomendaciones para la elaboración de extensiones del formato Facturae

Búsqueda sobre catálogos basada en ontologías

Nota 2. Luis Sierra. Marzo del 2010

Introducción a XML - Validación y Parseo. Huibert Aalbers, Senior Certified Software IT Architect

Informàtica i Comunicacions Plaça Prnt. Tarradellas, FIGUERES (Girona) Tel Fax

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Bases de Datos XPath - XQuery 1. XML: XPath - XQuery. Jorge Pérez Rojas Universidad de Talca, II Semestre 2006

CREACIÓN Y CONFIGURACIÓN DE WIKIS

ISO Lenguaje de Esquema Conceptual

UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA. Documentación de Motivación del Proyecto. JMit. Java Monitoring by Introspection Tool

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Capítulo 1 Lenguajes formales 6

by Tim Tran:

1.1. Introducción y conceptos básicos

5.4. Manual de usuario

Tema 2. Espacios Vectoriales Introducción

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

Ingeniería en Informática

Modelo Entidad-Relación

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Programa. Conceptos básicos: variables, valores y objetos predefinidos, operadores, etc. etc. Callbacks, eval(), etc.

Operación Microsoft Access 97

Capítulo 12: Indexación y asociación

Figura 4.1 Clasificación de los lenguajes de bases de datos

"Módulo OOWS para StarUML" INTRODUCCIÓN

Autenticación Centralizada

Práctica de introducción a

Ingeniería de Software I

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Escenas de episodios anteriores

Capítulo 9. Archivos de sintaxis

Fundamentos de las tecnologías de la información

Análisis de esquemas XML [1]

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Módulo 9 Sistema matemático y operaciones binarias

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Árboles AVL. Laboratorio de Programación II

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Nociones Básicas de Sémantica: Semántica Denotacional

Oracle 12c DISEÑO Y PROGRAMACIÓN

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

XML. Introducción. Cómo se usa? XML Tree. Sintaxis XML

GLOSARIO. Análisis Bottom-Up: Técnica utilizada en tareas de ingeniería inversa la cual parte de

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Tarea 4 Soluciones. la parte literal es x3 y 4

UTILIZACION DE ESQUEMAS XML DE LA AGENCIA TRIBUTARIA PARA CALCULO RETENCIONES

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

Añadir un tipo nuevo

[8 ] Contenidos: tipologías y organización.

La Web Semántica como herramienta para e-learning

Implementación del sistema

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

REDES INFORMATICAS: Protocolo IP

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre Jorge Pérez R.

INTRODUCCION. Tema: Protocolo de la Capa de aplicación. FTP HTTP. Autor: Julio Cesar Morejon Rios

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

Transcripción:

Introducción a RDF RDF Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre 2013 Objetivos Objetivos Breve historia Breve historia Objetivos Documentos de especificación Documentos RDF (Resource Description Framework) es un lenguaje diseñado para describir recursos, o metadatos sobre la información en la Web mediante RDF se pueden describir estructuras comunes para ser usadas en interoperabilidad en el intercambio de datos RDF es una recomendación W3C, parte definida en 1999 y parte en 2000, y actualizada en febrero 2004 la especificación consta de los siguientes documentos: RDF Primer objetivos y usos de RDF RDF Concepts and Abstract Syntax introduce conceptos básico y sintaxis intermedia Syntax define la sintaxis de RDF en XML RDF Semantics define el significado formal RDF Vocabulary Description Language cómo usar RDF para definir vocabularios para contenido en la Web RDF Test Cases describe casos de prueba positivos y negativos

Objetivos XML vs RDF Objetivos XML vs RDF XML vs RDF no existe ningún significado definido para XML: los marcados y sus anidamientos son arbitrarios ejemplo: <footballteam name="boca Juniors"> <player>román Riquelme</player> </footballteam> <footballplayer> <name>román Riquelme</name> <team>boca Juniors</team> </footballplayer> <footballplayer name="román Riquelme"> <team>boca Juniors</team> </footballplayer> RDF provee un modelo de datos para representar el significado de datos RDF es independiente del dominio, o sea los datos no necesariamente deben estar especificados en XML aumenta la posibilidad de interoperabilidad de datos para aplicaciones simples, donde no es necesario la persistencia ni la interoperabilidad de datos, es preferible usar XML sin RDF se puede hacer una analogía entre la relación XML con RDF, y la relación que existe en bases de datos jerárquicas y relacionales las propiedades también pueden ser identificadas por URIs el modelo RDF es un conjunto de sentencias que definen propiedades entre objetos cada propiedad es necesariamente una relación binaria se diferencia el dato origen de la propiedad, llamado sujeto, y el dato destino, llamado objeto (o sea las propiedades no necesariamente son simétricas) los datos objetos pueden ser recursos, identificados con URIs, o literales los datos sujetos sólo pueden ser recursos si vemos los recursos y literales como nodos, las propiedades como arcos dirigidos, entonces el modelo de datos RDF es un grafo dirigido etiquetado las sentencias se representan con triplas, que representan cada arco del grafo sujeto predicato objeto el grafo, o el conjunto de triplas, son representaciones equivalentes del modelo. El grafo tiene la ventaja de que un nodo interviniente en varios arcos no se repite.

Recursos ejemplo los recursos son siempre identificados por URIrefs absolutos son nodos del grafo que representan objetos y sujetos de las propiedades puede ser reemplazado por blank nodes (nodos en blanco) Literales los literales sólo pueden ser objetos de las triplas pueden ser caracteres entre comillas "doctor" opcionalmente se les puede agregar un indicador de lenguaje "dotor"\@es-ar y también pueden estar etiquetados con el tipo de dato simple bajo el cual debe interpretarse la cadena de caracteres "1"^^xs:integer el chequeo de tipos no forma parte de la semántica RDF los tipos de datos son los definidos por XML Schema esto provee un mecanismo extensible cada tipo de datos tiene un espacio léxico, un espacio de valores y un mapeo del espacio léxico a los valores

Propiedades Nodos en blanco también son identificadas por URIrefs absolutos corresponden a las etiquetas de los arcos del grafo son relaciones binarias entre recursos y recursos, o recursos y literales sirven para representar recursos sin nombre, ie sin URI que los identifique la representación depende de la sintaxis elegida ejemplo Teoría del modelo Teoría del modelo la principal característica de este modelo es que la triplas pueden combinarse libremente, reteniendo su significado (por eso la necesidad de URIrefs absolutos) un subgrafo del grafo modelo está formado por un subconjunto de sus triplas; una mezcla de modelos es la unión de los respectivos conjuntos de triplas nodos en blancos en grafos distintos se interpretan distintos; URIrefs y literales se interpretan iguales si corresponden a la misma secuencia de caracteres una instancia de un grafo es un grafo que se obtiene al reemplazar un nodo en blanco por un recurso un grafo está instanciado totalmente (grounded) si no contiene nodos en blanco el vocabulario de un grafo es la colección de URIrefs usados en ese grafo

Teoría del modelo se puede definir una relación de consecuencia entre grafos RDF: un grafo RDF es consecuencia de otro si todas las triplas que son válidas en el primero también son válidas en el segundo esto se aplica no sólo a las triplas explícitas, sino también a las implícitas se puede probar un lema de subgrafo: todo grafo tiene como consecuencia a sus subgrafos también un lema de instancias: todo grafo tiene como consecuencia a sus instancias finalmente, el lema de monotonía: si un grafo es consecuencia de un subgrafo de un grafo, el primer grafo es consecuencia también del último Sintaxis para RDF 1. N3 2. N-triples 3. notación gráfica 4. N3 N3 N3 N3 es una notación independiente de RDF representa una tripla como sujeto predicato objeto. URIrefs se escriben entre ángulos es posible usar espacios de nombre para simplificar las URIrefs, en este caso se omiten los ángulos no existe sintaxis específica para los nodos en blanco ejemplos: <urn:isbn:0-345-67890-1> <http://purl.org/dc/elements/1.1/creator> autor. autor uns-dcic-prf:#nombre "Pablo". autor uns-dcic-prf:#apellido "Fillottrani".

N-triples N-triples N-triples N-triples es un subconjunto de la notación N3 es necesario separar los elemento con sólo un espacio o un caracter TAB hay sólo una tripla por línea las líneas que comienzan con el caracter # son comentarios los nodos en blanco comienzan con _ : seguidos del nombre ejemplo de un archivo N-triple: # Mi libro en RDF <urn:isbn:0-345-67890-1> dc:creator _:autor. _:autor uns-dcic-prf:nombre "Pablo". _:autor uns-dcic-prf:apellido "Fillottrani". Sintaxis gráfica ejemplo un documento consiste de una especificación del elemento rdf:rdf puede ser parte de un documento XML más grande, o ser el elemento raíz del documento este tipo de elementos contiene una serie de elementos rdf:description cada rdf:description es la descripción de un recurso. Si tiene un atributo rdf:about entonces ése es el URI del recurso; si no lo tiene se trata de un nodo en blanco.

el contenido de un elemento rdf:description está formado por una serie de sentencias de propiedades cada sentencia de propiedad engloba un par predicado/objeto: el predicado corresponde con el nombre del elemento y el objeto con su contenido dado que los predicados se identifican con URIrefs, es necesario usar espacios de nombres para crear nombres válidos en XML si el contenido es texto, el objeto representado es un literal si el contenido es vacío entonces el objeto es otro recurso, identificado mediante el valor del atributo rdf:resource los elementos rdf:description pueden aparecer anidados en el elemento predicado, permitiendo referencia triplas que salen del nodo objeto la secuencia de anidación de elementos: recursos-predicados-recursos-predicados-... se denomina striping (rayado) Algunos atributos especiales xmlns:uns-dcic-prf="http://www.cs.uns.edu.ar/~prf/#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="urn:isbn:0-345-67890-1"> <dc:creator> <uns-dcic-prf:nombre>pablo</uns-dcic-prf:nombre> <uns-dcic-prf:apellido>fillottrani</uns-dcic-prf:apellido> </dc:creator> rdf:parsetype, que pude tener valor Literal o Resource, permite incluir documentos XML como literales en RDF y definir recursos sin necesidad de rdf:description rdf:nodeid permite definir nombres para nodos en blanco, haciendo que la sintaxis sea equivalente a la notación gráfica rdf:id genera un nuevo URIref con el URI del documento base, y el valor del atributo como fragmento

Turtle xmlns:uns-dcic-prf="http://www.cs.uns.edu.ar/~prf/#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:description rdf:about="urn:isbn:0-345-67890-1"> <dc:creator rdf:nodeid="autor"/> <rdf:description rdf:nodeid="autor"> <uns-dcic-prf:nombre>pablo</uns-dcic-prf:nombre> <uns-dcic-prf:apellido>fillottrani</uns-dcic-prf:apellido> otro refinamiento de N3 proveen un mecanismo para manejo de espacios de nombres permite abreviaturas para triplas con el mismo sujeto introduce también abreviaturas para colecciones Turtle Turtle abreviaturas para espacios de nombres: @prefix nombre: <URI>. abreviatura para el espacio de nombre por defecto: @prefix : <URI>. permite el uso de QNames (qualified names) en URIrefs dc:title rdf:type :datatype se puede agrupar triplas con el mismo sujeto sujeto predicado1 objeto1 ; predicado2 objeto2. los nodos en blanco como objeto se notan con [] sujeto predicado []. los nodos en blanco como sujeto se notan incluyendo entre los corchetes el predicado y el objeto [ predicato objeto ].

Turtle Contenedores Contenedores @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix uns-dcic-prf: <http://www.cs.uns.edu.ar/~prf/#>. @prefix dc: <http://purl.org/dc/elements/1.1/> urn:isbn:0-345-67890-1 dc:creator [ uns-dcic-prf:nombre "Pablo" ; uns-dcic-prf:apellido "Fillottrani" ]. los elementos contenedores se usan para agrupar recursos sobre los que queremos describir en conjunto. Cada uno de los elementos que agrupan se denomina miembro. RDF define tres marcados para contenedores rdf:bag rdf:seq rdf:alt para indicar que un recurso es un contender se puede usar la propiedad rdf:type pero no se especifica ninguna semántica (restricción formal) a los elementos de este tipo Contenedores Contenedores un rdf:bag es un contenedor sin orden entre sus miembros, que pueden repetirse un rdf:seq es un contenedor en donde el orden de los miembros es relevante, y también pueden repetirse un rdf:alt es un conjunto de alternativas el contenido de estos elementos se nombran con los nombres rdf:_1, rdf:_2, etc cuando el orden no es relevante, puede usarse también rdf:li xmlns:s="http://example.org/students/vocab#"> <rdf:description rdf:about="http://example.org/courses/6.001"> <s:students> <rdf:bag> <rdf:li rdf:resource="http://example.org/students/amy"/> <rdf:li rdf:resource="http://example.org/students/mohamed"/> <rdf:li rdf:resource="http://example.org/students/johann"/> <rdf:li rdf:resource="http://example.org/students/maria"/> <rdf:li rdf:resource="http://example.org/students/phuong"/> </rdf:bag> </s:students>

Colecciones Colecciones una limitación de los contenedores anteriores, es que en ningún lado se especifica que los elementos declarados miembros de un contenedor son los únicos miembros. para sobrellevar esta limitación, la última versión de RDF incluyó el contenedor rdf:list, junto con las propiedades predefinidas rdf:first y rdf:rest y el recurso predefinido rdf:nil. permiten crear listas con la misma semántica de la programación funcional con el atributo rdf:parsetype=" Collection" se puede abreviar su escritura de vuelta, RDF no impone ninguna restricción al uso de este vocabulario Colecciones xmlns:s="http://example.org/students/vocab#"> <rdf:description rdf:about="http://example.org/courses/6.001"> <s:students rdf:nodeid="sch1"/> <rdf:description rdf:nodeid="sch1"> <rdf:first rdf:resource="http://example.org/students/amy"/> <rdf:rest rdf:nodeid="sch2"/> <rdf:description rdf:nodeid="sch2"> <rdf:first rdf:resource="http://example.org/students/mohamed"/> <rdf:rest rdf:nodeid="sch3"/> <rdf:description rdf:nodeid="sch3"> <rdf:first rdf:resource="http://example.org/students/johann"/> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> Colecciones Reificación Reificación xmlns:s="http://example.org/students/vocab#"> <rdf:description rdf:about="http://example.org/courses/6.001"> <s:students rdf:parsetype="collection"> <rdf:description rdf:about="http://example.org/students/amy"/> <rdf:description rdf:about="http://example.org/students/mohamed"/> <rdf:description rdf:about="http://example.org/students/johann"/> </s:students> es posible que una aplicación RDF describa propiedades sobre sentencias RDF, por ejemplo para decir quién o cuándo fue especificada RDF provee entonces vocabulario predefinido para describir sentencias RDF. Esto se denomina reificación este vocabulario consiste del tipo rdf:statement y de los predicados rdf:subject, rdf:predicate y rdf:object de vuelta, es necesario usar con cuidado este vocabulario, porque puede llevar a confusiones el conjunto de las sentencias que reifican una sentencia es distinto a la sentencia, y ninguno implica el otro

Reificación <!DOCTYPE rdf:rdf [<!ENTITY xsd "http://www.w3.org/2001/xmlschema#">]> xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.com/terms/" xml:base="http://www.example.com/2002/04/products"> <rdf:description rdf:id="item10245"> <exterms:weight rdf:id="triple12345" rdf:datatype="&xsd;decimal">2.4 </exterms:weight> <rdf:description rdf:about="#triple12345"> <dc:creator rdf:resource="http://www.example.com/staffid/85740"/>