Web Ontology Language

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

 

http://www.w3.org/standards/techs/owl

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

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