Tecnologías XML y
Web Semántica
Departamento de Informática
Universidad de Oviedo
Ontologías y Descripción de Recursos
RDF, RDF(S) y OWL
Definición de Ontologías
Perspectivas y Aplicaciones
Algunas aplicaciones
Servicios Web Semánticos
Departamento de Informática
Universidad de Oviedo
Esquema de la Sesión
9-10:30h RDF - OWL
10:30-11h Descanso
11-12:30h Prácticas (Protègè)
12:30h-13h Descanso
13-15h Perspectivas y aplicaciones de la Web Semántica
1ª Parte
Ontologías y Descripción de Recursos
Web Semántica
Reglas
Confianza
Demostración
Datos
Docum.
auto-
descrito
Datos
Lógica
Ontologías
RDF + RDF Schema
XML + Namespaces + XML Schema
Unicode
URI
s
e
l
a
t
i
g
d
s
a
m
i
r
i
F
RDF
RDF
RDF (Resource Description Framework)
Permite describir recursos mediante propiedades y
valores de propiedades
Recurso: Cualquier cosa que pueda nombrarse
mediente una URI
Propiedad: Característica o atributo de un recurso
Tiene asociada una URI y un significado concreto
Puede relacionarse con otras propiedades
Enunciado: Asocia el valor de una propiedad a un
recurso
Ejemplo: Piolín es de color amarillo
Representación gráfica
Amarillo
tieneColor
RDF
RDF define un modelo (= Grafo acíclico dirigido)
Nodos Orígen = URIs
Arcos = URIs
Nodos destino (URIs o literales)
http://www.sentidos.net/tieneColor
Amarillo
http://miDireccion/#piolin
http://purl.org/DC/Creator
mailto:
[email protected]
Se podría representar como:
(http://miDirección/#Piolín, http://www.sentidos.net/tieneColor, "Amarillo")
(http://miDirección/#Piolín,http://purl.org/DC/Creator,Warner)
RDF
El modelo RDF se puede representar en sintaxis XML (serialización)
http://www.sentidos.net/tieneColor
Amarillo
http://miDireccion/#piolin
http://purl.org/DC/Creator
mailto:
[email protected]
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:s="http://www.sentidos.net/"
xmlns:dc=“http://purl.org/DC/”>
<rdf:Description about=”http://miDireccion/#piolin">
<s:tieneColor>Amarillo</s:tieneColor>
<dc:Creator resource=“mailto:
[email protected]” />
</rdf:Description>
</rdf:RDF>
Ideas básicas de RDF
Los conceptos fundamentales de RDF son:
Recursos
Propiedades
Enunciados
Ideas Básicas de RDF
Recursos
Un recurso es un objeto (una cosa) del que queremos
decir algo
Ej. Autores, libros, editoriales, lugares, personas, hoteles....
Todo recurso tiene una URI
Una URI puede ser
Una URL
Un nombre único (URN)
Ideas Básicas de RDF
Propiedades
Las propiedades son un tipo especial de recurso
Describen relaciones entre recursos
Ej. "escritoPor", "edad", "título"
Las propiedades también se identifican mediante URIs
Ventajas de usar URIs
Esquema de nombres global, único
Se evita el problema de la homonimia
Ideas básicas de RDF
Enunciados
Los enunciados (statements) asocian propiedades a
recursos
Un enunciado es una tripleta:
Objeto -- Propiedad -- Valor
Los valores de las propiedades pueden ser URIs o
literales
Un literal es una cadena de caracteres
Ejemplo de editor Visual: IsaViz
RDF
Sintaxis abreviada
<rdf:Description rdf:ID="Piolin">
<s:tieneColor>Amarillo</s:tieneColor>
<rdf:type resource="#Canario" />
</rdf:Description>
Si las propiedades no se repiten,
pueden incluirse como atributos
<rdf:Description rdf:ID="Piolin” s:tieneColor=“Amarillo”>
<rdf:type resource="#Canario" />
</rdf:Description>
La declaración de “type” puede
incluirse en la etiqueta
<rdf:Canario rdf:ID="Piolin” s:tieneColor=“Amarillo” />
Sintaxis Abreviada
Notación 3
Sintaxis no XML simplificada que facilita la
representación de tripletas
Objetivo: Legibilidad por desarrolladores
Utilizada por CWM
@prefix : <http://miDireccion/#> .
@prefix dc: <http://purl.org/DC/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s: <http://www.sentidos.net/> .
:piolin dc:Creator <mailto:
[email protected]>.
:piolin s:tieneColor "Amarillo" .
RDF: Contenedores
Tipos
Bag: Conjunto no ordenado (permite duplicados)
Seq: Lista ordenada (permite duplicados)
Alt: Valor único alternativo (elección de un elemento del contenedor)
Los elementos se indican con <li>
Pueden tener ID (pero no about)
Pueden aplicarse propiedades a los elementos con
aboutEach
<rdf:Description rdf:ID="Película">
<dc:title>El canario peleón</dc:title>
<m:personajes>
<rdf:Bag ID=“ps1”>
<li resource=“http://warner.com/#piolin” />
<li resource=“http://warner.com/#silvester” />
</rdf:Bag>
</m:personajes>
</rdf:Description>
<rdf:Description aboutEach=“#ps1”>
<dc:Creator resource=“mailto:
[email protected]” />
</rdf:Description>
RDF: Reificación
Permite definir sentencias sobre sentencias (orden superior)
Ej. El sitio Web de la EUITIO dice que Labra es el profesor de Lógica
(WebEUITIO, dice, s1)
(s1, Subject, labra)
(s1, Predicate, esProfesorDe)
(s1,Object, lógica)
Una descripción define implícitamente un Bag de sentencias
RDF define automáticamente las sentencias como recursos y las
incluye en un Bag
Las sentencias se representan con el tipo predefinido rdf:Statement
Los atributos de rdf:Statement son:
rdf:Subsect
rdf:Predicate
rdf:Object
Es posible añadir otros atributos a las sentencias
RDF: Tipos de Datos
Es posible utilizar tipos de datos
En general se utilizan os tipos de XML Schema
Podrían utilizarse otros tipos de datos
Se usa la notación ^^
<rdf:Description rdf:about="949318">
<uni:nombre>Jose Labra</uni:nombre>
<uni:cargo>Profesor Titular</uni:cargo>
<uni:edad rdf:datatype="&xsd:integer">35<uni:age>
</rdf:Description>
RDF Schema
RDF Schema
Motivación
RDF es un modelo universal que permite describir
recursos definidos en ciertos vocabularios
RDF no asume ni define ningún tipo de semántica de un
dominio concreto
En RDF Schema pueden definirse:
Clases y propiedades
Jerarquías y herencia entre clases
Jerarquías de propiedades
RDF Schema
Clases e individuos
Hay que distinguir entre:
Cosas concretas (individuos) del dominio.
Ej. "Jose Labra", "Lógica"
Clases o conceptos = Conjuntos de individuos que comparten
algunas propiedades (rdfs:Class)
Ej. "Profesor", "Asignatura", "Estudiante", ...
Los individuos que pertenecen a una clase también se
llaman instancias
La relación entre un individuo y la clase se define
mediante rdf:type
RDF Schema
Clases
El uso de clases permite declarar restricciones y evitar
enunciados que no tienen sentido:
Restricciones de Rango
Ej. Juan da clase de Pepe
La propiedad "da clase de" se asigna a asignaturas
Restricciones de Dominio
Ej. Álgebra da clase de Cálculo
La propiedad "da clase de" se aplica a profesores
RDF Schema
Jerarquías
Las clases pueden organizarse en jerarquías
subclassOf define que una clase es una subclase de
otra
A es una subclase de B si todo individuo de A
pertenece a B
Entonces, B es una superclase de A
Una clase puede tener múltiples superclases
RDF Schema
Jerarquía de clases
Personal
Universidad
PAS
Personal
Docente
Catedrático
Profesor
Titular
Profesor
Asociado
Herencia
Un curso sólo puede impartirse por personal docente.
Pepe es Profesor Asociado
Pepe hereda la propiedad de poder impartir un curso de la
clase "personal docente"
La semántica de subclassOf está predefinida
RDF Schema
Jerarquía de Propiedades
Jerarquías entre propiedades subPropertyOf
Ej. Ser padre es una subpropiedad de ser progenitor
Si P es una subpropiedad de Q entonces, P(x,y) se
cumple sólo si Q(x,y)
RDF Schema
Sintaxis XML
rdfs:subClassOf
Perro
rdf:type
rdfs:subClassOf
Animal
rdf:type
Canario
Amarillo
http://www.sentidos.net/tieneColor
Piolin
Pluto
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:s="http://www.sentidos.net/">
<rdf:Description rdf:ID="Piolin">
<s:tieneColor>Amarillo</s:tieneColor>
<rdf:type resource="#Canario" />
</rdf:Description>
<rdf:Description rdf:ID="Canario"> <rdf:subClassOf rdf:resource="#Animal"/></rdf:Description>
<rdf:Description rdf:ID="Pluto"><rdf:type rdf:resource="#Perro" /></rdf:Description>
<rdf:Description rdf:ID="Perro"><rdf:subClassOf rdf:resource="#Animal" /></rdf:Description>
<rdf:Description rdf:ID="Animal" />
</rdf:RDF>
RDF Schema
Restricciones
Propiedades básicas:
type: indica pertenencia (el valor debe ser instancia de class)
subClassOf: relación de subconjunto entre 2 clases
Relación transitiva
Una clase puede ser subclase de más de una clase (herencia
múltiple)
Una clase no puede ser subclase de sí misma
Resource
Class
Resource
Class
Property
ConstraintProperty
Literal
Property
type
subClassOf
subPropertyOf
comment
label
seeAlso
isDefinedBy
ConstraintProperty
range
domain
RDF Schema
Otras propiedades
seeAlso: Especifica un recurso que puede proporcionar más
información
isDefinedBy: Subpropiedad de seeAlso que permite indicar un
recurso autor
comment: Asocia un comentario a un recurso
label: Asocia una etiqueta a un recurso
Restricciones
ConstraintResource: Recurso que permite definir restricciones
ConstraintProperty: Propiedad que expresa una restricción
range: Se aplica a una propiedad. El valor debe ser una clase
domain: Se aplica a una propiedad. El valor debe ser una clase
http://www.sentidos.net/tieneColor
range
Color
domain
Cosa
Ontologías: OWL
Ontologías
El término Ontología se utiliza en filosofía como una
disciplina que estudia la naturaleza y organización de
la realidad
En Aristóteles (Metafísica, IV, 1) se define como la
ciencia del ser
En Informática, se utiliza como un artefacto que define:
Un vocabulario compartido que describe un determinado
dominio
Un conjunto de supuestos sobre los términos de dicho
vocabulario, generalmente se utiliza un lenguaje formal
manipulable automáticamente.
Ontologías
Normalmente las ontologías tienen dos componentes:
Nombres de conceptos
Elefante: es un concepto cuyos miembros son animales
Hervíboro: es un concepto cuyos miembros son exactamente
aquellos animales que comen solamente plantas o partes de
plantas
Elefa
Comentarios de: Tecnologías XML y Web Semántica (0)
No hay comentarios