the resource description framework - facultad de …mtovar/doc/wso/rdf.pdfthe resource description...
Post on 25-Apr-2018
222 Views
Preview:
TRANSCRIPT
XML
• XML es un metalenguaje universal para definir marcado.
Proporciona un marco uniforme, y un conjunto de
herramientas como analizadores, para el intercambio de
datos y metadatos entre aplicaciones.
• XML no proporciona ningún medio para tratar la
semántica (significado) de los datos.
• Por ejemplo, no hay un significado asociado con el
anidamiento de las etiquetas; le corresponde a cada
aplicación interpretar la anidación.
XML, ejemplo 1
• Ejemplo.
• Supongamos que queremos expresar el siguiente hecho:
• Pedro Romero es profesor de Matemáticas Discretas.
• Pedro Romero is a lecturer of Discrete Mathematics
• XML
<course name="Discrete Mathematics">
<lecturer>Pedro Romero</lecturer>
</course>
<lecturer name="Pedro Romero">
<teaches>Discrete Mathematics</teaches>
</lecturer>
<teachingOffering>
<lecturer>Pedro Romero</lecturer>
<course>Discrete Mathematics</course>
</teachingOffering>
No hay una forma
estándar para asignar el
significado, y el
anidamiento.
XML y RDF
• XML Schema restringe la estructura de los documentos
XML, mientras que RDF Schema define el vocabulario
usado en los modelos de datos RDF.
• En RDFS definimos el vocabulario, específicamente que
propiedades aplicar a que tipo de objetos y que valores
pueden tomar estos, y describimos las relaciones entre
los objetos.
• Por ejemplo:
• Lecturer is a subclass of academic staff member.
RDF-Schema
• Por ejemplo:
• Lecturer is a subclass of academic staff member.
• Esta frase significa que todos los profesores son también
miembros del personal académico. Es importante
entender que hay un significado intencional asociado con
"es una subclase de“ (is a subclass of). No es hasta la
aplicación para interpretar este término; su significado
debe ser respetado por todo el software de
procesamiento de RDF.
Ejemplo
<academicStaffMember>Gregorio Antonio</academicStaffMember>
<professor>Miguel Ramos</professor>
<course name="Discrete Mathematics">
<isTaughtBy>Pedro Romero</isTaughtBy>
</course>
• Supongamos que necesitamos coleccionar todos los miembros de la
planta de profesores. Una expresion en Xpath debe ser:
• //academicStaffMember
Ejemplo
• El resultado sólo es Gregorio Antonio. Desde el punto de
vista de XML, pero es una respuesta insatisfactoria desde
el punto de vista semántico. Los lectores humanos
también incluirían a los otros dos como respuesta porque:
• Todos los profesores son miembros de la planta docente (es decir,
profesores son una subclase de academicStaffMember);
• Los cursos solo lo enseñan miembros de la planta docente.
• Este tipo de información hace uso del modelo semántico
de un dominio particular y no se puede representar en
XML o en RDF pero es conocimiento escrito en RDF
Schema.
RDF y RDFS
• RDF
• Resource Description Framework
• Modelo de Datos
• Sintaxis (XML)
• Independiente del dominio
• El vocabulario esta definido por RDF Schema
• RDF Schema
• RDFS Lenguaje de Descripción del Vocabulario
• Captura el modelo semántico de un dominio
RDF
• Recomendación W3c en 1999
• Modelo de datos en forma de grafo
• Cada nodo es un Recurso: URI ó Literal
• Las aristas son también URIs
• Varios formatos de representación:
• RDF/XML, N3, Turtle, etc.
RDF
• El poder de representación de tripletas junto con la
serialización XML.
• RDF (ResourceDescriptionFramework)
• Mecanismo para describir recursos
• Recurso: Cualquier cosa que pueda nombrarse mediante URI
• Propiedad: Característica o atributo de un recurso
• Se identifica mediante una URI => Valor global
• Un enunciado está formado por una tripleta:
• Sujeto -> Propiedad -> Objeto
Sujeto
Propiedad
Objeto
RDF • RDF es un lenguaje que permite describir instrucciones de marcado
en recursos • John is father of Bill
• Instrucciones (o tripletas) como fórmulas lógicas P(x,y), donde
el predicado binario P relaciona el objeto x con el objeto y.
• Modelo de tipletas de datos: <subject, predicate, object> • Subject: Recurso o nodo vacio • Predicate: Propiedad • Object: Recurso (o colección de recursos), literales o nodos vacios.
• Ejemplo:
<ex:john, ex:father-of, ex:bill>
• RDF ofrece predicados (propiedades) binarios únicamente.
Ejercicio
• https://www.w3.org/RDF/Validator/
• Produce el grafo y las tripletas de:
1: <?xml version="1.0"?>
2: <rdf:RDF
3: xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4: xmlns:si="http://www.ejemplo.com/rdf/">
5: <rdf:Description rdf:about="http://www.ejemplo.com">
6: <si:title>Ejemplos RDF</si:title>
7: <si:author>Juan Torres Olmedo</si:author>
8: </rdf:Description>
9: </rdf:RDF>
RDF: Ideas Básicas
• Los conceptos fundamentales de RDF son:
• Recursos,
• Propiedades,
• Sentencias.
Recursos
• Objeto, una “cosa”.
• Puede ser:
• Autores,
• Libros,
• Editores,
• Lugares,
• Personas
• Hoteles
• Habitaciones,
• Motores de búsqueda, etc.
Recursos
• Un recurso puede ser: • Un página Web (ejemplo http://www.w3.org)
• Una persona (ejemplo http://www.fernandez.com)
• Un libro (ejemplo urn:isbn:0-345-33971-1)
• Cualquier cosa denotada con un URI
• Un URI es un identificador y no una localización en la Web.
• RDF permite hacer
• RDF permite hacer declaraciones acerca de recursos: • http://www.w3.org tiene el formato text/html
• http://www.fernandez.com tiene primer nombre Diego
• urn:isbn:0-345-33971-1 tiene autor Tolkien
URI, URN, URL
• Un Uniform Resource Identifier (URI) es una cadena de caracteres usados
para identifiar un nombre o un recurso en Internet.
• Un URI puede ser un URL o un URN
• Un Uniform Resource Name (URN) define elementos identidad • El URN urn:isbn:0-395-36341-1 es un URI que especifica el sistema identificador, es decir, el
ISBN (International Standard Book Number), también como la referencia unica con ese sistema
e información acerca de un libro, pero no sugiere donde y como obtener una copia actual de el.
• Un Uniform Resource Locator (URL) proporciona un método para encontrarlo
• El URL identifica un recurso (la página home de STI’s) e implica que una
representación de ese recurso se obtiene via HTTP desde un host de red
nombrado www.sti-innsbruck.at
Literales
• Literales planas
• Ejemplo: ”any text”
• Lenguje opcional, ejemplo ”Hello, how are you?”@en-GB
• Literales tipadas
• Ejemplo. "hello"^^xsd:string, "1"^^xsd:integer
• Tipos de datos recomendados
• XML Schema datatypes
• Solo como objeto de una tripleta, ejemplo:
<http://example.org/#john>,
<http://example.org/#hasName>,
”John Smith”ˆˆxsd:string
Tipos de datos
• Un tipo de dato predefinido: rdf:XMLLiteral • Usado para incluir XML en RDF
• Los tipos de datos recomendados son tipos de datos de XML
Schema, por ejemplo: • xsd:string
• xsd:integer
• xsd:float
• xsd:anyURI
• xsd:boolean
Recurso, Propiedad y Valor de
Propiedad RDF • RDF identifica las cosas usando identificadores Web
(URIs), y describe recursos con propiedades y valores de
propiedad.
• Un Recurso es una cosa que puede tener un URI,
• Tal como http://www.ejemplo.org/
• Una Propiedad es un recurso que tiene un nombre,
• Tal como “author” o “homepage”
• Un valor de propiedad es el valor de la propiedad.
• Tal como “Juan Perez” o http://www.ejemplo.com (note que un
valor de una propiedad puede ser otro recurso).
Sentencias RDF
Subject Predicate
author http://www.w3schools.com/RDF
Resource Property
Object
Jan Egil Refsnes
Property Value
Puede ser otro recurso
RDF y XML
• Documentos RDF se pueden escribir en el lenguaje XML:
RDF/XML.
• Intercambio de información entre
• Diferentes tipos de computadoras
• Tipos de sistemas operativos y
• Lenguajes de aplicación.
Sentencias RDF
• La combinación de un Recurso, una Propiedad, y un valor Propiedad
forman una Sentencia (conocida como el sujeto, predicado y objeto
de una sentencia).
• Ejemplo:
• Sentencia: "The author of http://www.w3schools.com/rdf is Jan Egil
Refsnes".
• El sujeto de la sentencia es: http://www.w3schools.com/rdf
• El predicado es: author
• El objeto es: Jan Egil Refsnes
• Sentencia: "The homepage of http://www.w3schools.com/rdf is
http://www.w3schools.com".
• El sujeto de la sentencia es: http://www.w3schools.com/rdf
• El predicado es: homepage
• El objeto es: http://www.w3schools.com
Ejemplo Title Artist Country Company Price Year
Empire Burlesque Bob Dylan USA Columbia 10.90 1985
Hide your heart Bonnie Tyler UK CBS Records 9.90 1988
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide
your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description>
</rdf:RDF>
RDF
• La primera línea del documento RDF es la declaración XML. La
declaración XML es seguida por el elemento raíz del documento
RDF:
• <rdf:RDF>.
• El espacio de nombres xmlns:rdf, especifica que los elementos con
el prefijo rdf son el espacio de nombres
"http://www.w3.org/1999/02/22-rdf-syntax-ns#".
• El espacio de nombres xmlns:cd, especifica que los elementos con
el prefijo cd son del espacio de nomres
"http://www.recshop.fake/cd#".
• El elemento <rdf:Description> contiene la descripción del recurso
identificado por el atributo rdf:about
• Los elementos: <cd:artist>, <cd:country>, <cd:company>, etc. Son
propiedades del recurso.
Elementos RDF
• Los elementos principales de RDF son el elemento raíz,
<RDF>, y el elemento <Description>, que identifica un
recurso.
Elemento <rdf:RDF>
• <rdf:RDF> es un elemento raíz de un documento RDF.
• Define al documento XML como documento RDF.
• Contiene una referencia al namespace RDF:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
...Description goes here...
</rdf:RDF>
El elemento <rdf:Description>
• El elemento <rdf: Description> identifica un recurso con el atributo
about.
• El elemento <rdf: Description> contiene elementos que describen el
recurso:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
</rdf:RDF>
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist>Bob Dylan</cd:artist>
<cd:country>USA</cd:country>
<cd:company>Columbia</cd:company>
<cd:price>10.90</cd:price>
<cd:year>1985</cd:year>
</rdf:Description>
</rdf:RDF>
El elemento <rdf:Description>
• Los elementos, artist, country, company, price, and year,
son definidos en el espacio de nombres
http://www.recshop.fake/cd#
• Este espacio de nombres esta fuera del RDF (no e es
parte de RDF).
• RDF define sólo el marco de trabajo.
• Los elementos, artist, country, company, price, and year,
deben ser definidos por alguien más (compañía,
organización, persona, etc.).
Propiedades como atributos
• Los elementos propiedad también se definen como
atributos (en lugar de los elementos):
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
</rdf:RDF>
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque"
cd:artist="Bob Dylan" cd:country="USA"
cd:company="Columbia" cd:price="10.90"
cd:year="1985" />
</rdf:RDF>
Propiedades como Recursos
• Los elementos propiedad pueden definirse como
recursos.
• La propiedad “artist” no tiene un valor, pero si una
referencia a un recurso que contiene información acerca
del artista. <?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
</rdf:Description>
</rdf:RDF>
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
<cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />
</rdf:Description>
</rdf:RDF>
Contenedores RDF
• Los contenedores RDF se usan para describir grupo de
cosas.
• Los siguientes elementos RDF se usan para describir
grupos:
• <Bolsa>,
• <Sec> y
• <Alt>.
Elemento <RDF Bag>
• El elemento <RDF Bag> se utiliza para describir una lista
de valores que no tienen que estar en un orden
específico.
• <rdf: Bag> puede contener valores duplicados.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-
ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Bag>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>George</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Bag>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Nodos blancos
• Los nodos blancos son nodos sin un URI
• Recursos no nombrados
• Constructores más complejos
• Ejemplo: <#john>, <#hasName>, _:johnsname
_:johnsname, <#firstName>, ”John”ˆˆxsd:string
_:johnsname, <#lastName>, ”Smith”ˆˆxsd:string
Nodos blancos
• Representación de datos complejos
Un nodo en blanco se puede utilizar para adjuntar indirectamente a
un recurso un conjunto consistente de propiedades que en conjunto
representan a un dato complejo
• Clases anonimas en OWL
El lenguaje de ontologías ontología OWL utiliza nodos blanco para
representar clases anónimas, tales como uniones o intersecciones de
clases o clases llamadas restricciones, definidas por una restricción
en una propiedad.
Elemento <rdf:Sec> • La <rdf: Sec> se utiliza para describir una lista ordenada de valores
(por ejemplo, en orden alfabético).
• El elemento <rdf:Sec> puede contener valores duplicados.
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
</rdf:RDF>
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
</rdf:RDF>
Elemento <rdf:Alt> • El elemento <rdf:Alt> es usado para describir una lista de valores
alternativos (el usuario puede seleccionar solo un de los valores).
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
</rdf:RDF>
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
</rdf:RDF>
Términos RDF
• En los ejemplos anteriores hemos hablado de "lista de valores" al describir los elementos contenedores.
• En RDF estos "lista de valores" son llamados miembros.
• Un contenedor es un recurso que contiene cosas.
• Las cosas contenidas son llamados miembros (no lista de valores).
•
• Las colecciones RDF describen grupos que contienen únicamente miembros específicos.
Atributo rdf:parseType="Collection" • Las colecciones RDF son usadas para describir grupos que
contienen únicamente miembros específicos.
• Una colección se describe con el atributo rdf:parseType="Collection".
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://recshop.fake/cd#">
<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>
</rdf:RDF>
RDF, notación N3
• Los grafos RDF pueden representarse como una lista de
tripletas separadas por punto (Notación N3)
<subject, predicate, object> <sujbect> <predicate> <object>
Ejercicio
• Representar el siguiente conocimiento en RDF
La página http://www.uniovi.esha sidorealizadaporJuan Gallardo, el cual
tiene por correo electrónico juan@uniovi.es y tiene 26años.
Sin embargo, la página http://www.euitio.uniovi.es ha sidorealizada por
Isabel Castillay Juan Gallardo. El correo electrónico de Isabel
esisa@uniovi.es y tiene 25 años.
Nodos anónimos
• [ ] representa un nodo anónimo
• Las declaraciones realizadas dentro de [] hacen
referencia a dicho nodo anónimo.
Ejercicio
• Representa la información de la tabla
DNI Nombre Apellidos
9391212 Juan Gallardo
1223452 Jose Torre
Ejercicio: RDF contenedores
“The lecture is attended by John, Mary and Chris”
Bag
“[RDF-Concepts] is edited by Graham and Jeremy
(in that order)”
Seq
“The source code for the application may be found at
ftp1.example.org,
ftp2.example.org,
ftp3.example.org”
Alt
top related