Web Ontology Language
http://mikeleganaaranguren.wordpress.com/teaching/
http://slides.com/mikel-egana-aranguren/ejie-lod-owl
Mikel Egaña Aranguren (megana@eurohelp.es)
Servicios Open Linked Data
W3C Semantic Web stack
Ontologías
La mayoría de los vocabularios son ontologías
Definen propiedades generales de los datos que queremos publicar:
foaf:person dbpedia-ont:city dc:book ...
Prefix.cc
Linked Open Vocabularies
OWL
OWL
OWL (Web Ontology Language) es un estándar oficial del W3C para crear ontologías en la web con un semántica precisa y formal
OWL
OWL se basa en Lógica Descriptiva (DL)
Representación computacional de un dominio de conocimiento:
Razonamiento automático: inferir conocimiento "nuevo" (*), consultas, consistencia, clasificar entidades contra la ontología, ...
Integrar conocimiento disperso
Sintaxis
Para ordenadores: RDF/XML, OWL/XML, ...
Para humanos: Manchester OWL Syntax, functional, ...
Semántica
Una ontología OWL esta compuesta de:
-
Entidades: las entidades del dominio de conocimiento, identificadas con URIs, introducidas por el desarrollador ("Mikel", "participa_en", ...)
-
Axiomas: relacionan las entidades mediante el vocabulario lógico que ofrece OWL (namespace OWL)
Una ontología puede importar otra (owl:import) y hacer referencia a sus entidades mediante axiomas
Entidades
Entidades (URI)
Axiomas
("URI OWL")
Individuos
Clases
Propiedades
Objeto
Datos
Anotación
Ontologia
(URI)
Entidades
Entidad
Axioma
Arm subClassOf part-of some Body
Clase
Clase
Propiedad objeto
Restricción
Individuos
[Fuente de imagenes: Manchester OWL Pizza tutorial]
Propiedades
Clases
Clases
Clase subclase
Clases equivalentes
Jerarquía de clases (Taxonomía)
Condiciones necesarias
Condiciones necesarias y suficientes
Restricción existencial
Restricción universal
Restricción un individuo (value)
Restricciones cardinales
Más axiomas
disjointFrom
booleanos: not, or, and
Expresiones complejas
Propiedades
Jerarquía Propiedades
Jerarquía propiedad-subpropiedad (~taxonomía pero con propiedades), ej:
-
interacciona con
-
mata a
estrangula a
-
Propiedades
Propiedades
Propiedades
Propiedades datos
Solo funcional
Dominio clases, rango datatypes
Propiedades anotación
Anotar con lenguaje natural entidades (propiedades, clases, individuos), axiomas, ontologías
Fuera de la semántica
rdfs:label, rdfs:comment, dublin core, a medida
Individuos
Miembro de una o más clases (Types)
Igual (SameAs) o diferente (DifferentFrom) a otro individuo
Relaciones binarias con otros individuos o datos (triples), positivas o negativas
Razonamiento automático
Un razonador infiere los "nuevos" axiomas que implican los axiomas que hemos introducido en la ontología
El razonador infiere todos los axiomas; es útil para tratar con conocimiento complejo
Open World Assumption (OWA)
(Falta de) Unique Name Assumption (¡owl:sameAs!)
Razonamiento automático
Mantener taxonomía
Razonamiento automático
Consistencia
Razonamiento automático
Clasificar entidades: dada una entidad nueva, como se relaciona con las demas entidades (types, equivalentTo, subClassOf, triples)
Una consulta es una clase anónima que clasificamos contra la ontología como si fuese una entidad
Linked Data
Principios Linked Data
1.- Usar URIs (Uniform Resource Identifier) para identificar entidades
2.- Usar URIs que son accesibles mediante el protocolo HTTP, para que usuarios o agentes automáticos puedan acceder a las entidades
3.- Cuando se acceda a la entidad, proveer datos sobre la entidad en formatos estándar y abiertos, como RDF (Resource Description Framework)
4.- Añadir en los datos que publicamos en RDF enlaces a las URIs de otras entidades, de modo que un usuario o agente pueda navegar por la red de datos y descubrir más datos que también siguen los principios Linked Data
Linked Data
Utilizar maquinaria Web (URIs HTTP), para identificar y localizar entidades: http://example.com/entity
Utilizar un modelo de datos común, tripleta RDF, para integrar datos en los que aparecen esa entidades
«base de datos universal»
Ventajas Linked Data
Descubrimiento e integración de datos
Programación de agentes que consuman los datos
Actualización de datos mediante enlaces
Consultas complejas
OWL
Crear ontologías mediante Web Ontology Language
Ontología: "esquema" que describe el conocimiento sobre los datos
Tiene clases de individuos y define las condiciones para pertenecer a una clase
Es un lenguaje axiomatico con semantica precisa >> razonamiento automático (Cliente/Servidor)
Algunas Triple Stores incluyen razonamiento automático en consultas
sujeto/objeto RDF >> rdf:type >> URI Clase OWL
¿Por qué publicar datos en LD?
Semántica:
El significado de nuestro datos es explícito y claro, debido a RDF (instancias) + OWL ("esquema")
Es "fácil" crear aplicaciones, incluyendo razonamiento automático (ej. agentes)
Ejemplos y ejercicios
DBPedia Ontology
http://wiki.dbpedia.org/downloads-2016-04#ontology
http://downloads.dbpedia.org/2016-04/dbpedia_2016-04.owl
ARAGOPEDIA Ontology
http://opendata.aragon.es/def/Aragopedia.html
http://opendata.aragon.es/def/Aragopedia.owl
EUSKADIpedia
URIs referencia
URIs externas
Entidades internas:
http://gida.irekia.euskadi.eus/es/categories/104
Importar ontologías
EUSKADIpedia
https://github.com/opendata-euskadi/LOD-datasets/tree/master/Vocabularies
Widoco
OWL-DOC
EJIE-LOD-OWL
By mikel-egana-aranguren
EJIE-LOD-OWL
- 1,630