Clases
Cronología y Presentaciones de las Clases hasta hoy.
Intro a la Web Semántica
- Fecha: 09-03-2016
- Presentación:
.pdf
.key
- Referencias:
RDF: Modelo y Formatos
- Fecha: 16-03-2016
- Presentación:
.pdf
.key
- Referencias:
RDF, Graph Store, SPARQL
- Fecha: 30-03-2016
- Presentación:
.pdf
.key
- Referencias:
SPARQL
- Fecha: 06-04-2016
- Presentación:
Online
- Referencias:
RDF Schema (RDFS)
- Fecha: 13-04-2016
- Presentación:
.pdf
.key
- Referencias:
RDFS y Inferencia
- Fechas: 20-04-2016/27-04-2016
- Presentación:
.pdf
.key
- Referencias:
OWL: Bases
- Fecha: 04-05-2016
- Presentación:
.pdf
.key
- Referencias:
SKOS & Co.
- Fecha: 11-05-2016
- Presentación:
.pdf
.key
- Referencias:
OWL: Negación y Restricciones
- Fecha: 18-05-2016
- Presentación:
.pdf
.key
- Referencias:
RDF dentro de HTML
- Fecha: 01-06-2016
- Presentación:
.pdf
.key
- Referencias:
OWL Full, DL y perfiles
- Fechas: 15-06-2016 y 22-06-2016
- Presentación 1/3 (algunos diagramas como introducción):
.pdf
.key
- Presentación 2/3 (contenido principal, por P. Hitzler y otros):
.pdf
- Presentación 3/3 (actividad práctica):
.pdf
.key
- Referencias:
Entregas
Aquí van a ir apareciendo las informaciones sobre los trabajos
practicos a entregar.
Proyecto 1: Acceso a Datos
- Forma de Trabajo: Individual (pero el intercambio de informaciones y consejos es bienvenido)
- Fecha Entrega: 20-04-2016
- Descripción:
cargar en un graph store (online o localmente) un dataset RDF
con datos de un ambito específico de interés;
a partir de estos datos, crear un simple front-end web-based
para visualizar los datos y editar una
parte de ellos.
- Requisitos:
-
los datos utilizados tienen que incluir un conjunto de datos
creados por el alumno (en absoluto no es importante que sean
muchos datos, diez triplas pueden ser ya suficientes si
tienen sentido para la visualización pensada) y cargados en
el graph store;
-
ademas tienen que ser utilizados datos de una fuente externa
(por ejemplo de DBpedia o WikiData); puede haber más de una
fuente externa pero no es obligatorio;
-
los datos pueden ser integrados con uno de dos mecanismos:
-
los datos de fuentes externas (la porción que se va a
usar) son cargados junto a los proprios, en el graph store,
pero manteniendo distintos nombres de grafos para
preservar la información sobre la origen;
-
en vez de copiar los datos en el proprio graph store, las
fuentes externas son interrogadas quando sirve, a tra vés
de sus endpoint; queries que incluyan datos de varias
fuentes puedén ser realizadas con el mecanismo de la
Query Federation;
-
el front-end puede ser realizado con cualquier tecnología
que el alumno conosca y sea apta para un aplicativo web-based;
tiene que permitir:
-
visualizar los datos
-
editar algo de los datos (puede ser un aspecto muy
simple, como un like, un anotación, un ordenamiento)
-
la comunicación entre front-end y graph store tiene que
ejecutarse por medio de
- Modalidad:
presentación de 10-15 minutos que incluya la demonstración del
software, la descripción de la arquitectura y aspectos de
implementación que se consideren importantes/interesantes.
Proyecto 2: Diseño de Ontología
- Forma de Trabajo: Individual (pero el intercambio de informaciones y consejos es bienvenido)
- Fecha Entrega: 01-06-2016
- Descripción:
diseñar una ontología (simple) sobre un dominio a elección del alummno.
- Requisitos:
-
la ontología debe contener una jerarquía de clases y varias propiedades
(sea object que datatype), cada una con correspondiente domain y range;
-
usar OWL para definir los otros vinculos que sean necesarios,
incluyendo al menos casos de restricciones, de intersección, y de clases disjuntas;
-
tratar que todos los vinculos que se prevee tenga el modelo,
sean expresos formalmente en OWL;
-
referirse o una o más ontologías ya existentes
(que sean relevantes para el dominio considerado), poniendo en relación
aguna de las clases y/o relaciones definidas
con alguna clases/relación correspondiente
de la(s) ontología(s) externa(s) (por ejemplo, en el caso más simple,
una clase en la ontología que se está definiendo puede ser
subclase o superclase de una ya existente);
-
se aconseja el uso de protégé versión desktop
(más estable de la versión Web), pero el alumno puede optar
por otros metodos, incluido escribir la ontología directamente
en RDF con un editor textual.
- Modalidad:
presentación de 10-15 minutos que incluya la exposición de la ontología,
la motivación de las principales decisiones tomadas en el diseño de la misma y
problemas encontrados (incluyendo la eventual dificultad o imposibilidad
de representar algún vínculo).
Proyecto Final
El proyecto final del curso es un trabajo de grupo que va a ser presentado en el examen.
El examen incluirá la discusión del proyecto y del rol de cada uno en su desarrollo,
además de preguntas sobre los argumentos del curso.
Los grupos pueden ser de un minimo de 1 a un maximo de 4 personas,
o sea que pueden realizar un único grupo o dividirse en varios si lo prefieren.
Propongo dos ideas para el proyecto.
El tema del proyecto de cada grupo puede ser uno de los dos u otro decidido por el grupo mismo,
con tal que encare los temas tratados en el curso y
me comuniquen el tema por tiempo para que pueda orientarlos.
Tema 1: Visualización de Ontología
Implementar un front-end para la visualización de una ontología generica, cargada en un formato estándar.
Cómo sería demasiado complejo mostrar de forma completa todos los posibles aspectos de una ontología (varias formas de restricciones, etc.),
el sw mostrará un conjunto de aspectos, elejido de manera coherente.
La visualización pude ser más orientada a lo textual (elenco de clases, propiedades, etc.),
más a lo visual (por ejemplo, grafico de la jerarquía de clases y de las propiedades)
o tener un poco de los dos aspectos.
Tema 2: Re-escritura de Query basada en Ontología
A partir de un ontología, queremos realizar de forma virtual las posibles inferencias
sobre un dataset (generíco) qué no está bajo nuestro control,
pero es accesible a través de un SPARQL endpoint.
El dataset virtual que incluye las triplas deducidas será accesible cómo otro SPARQL endpoint.
Para hacerlo lo que haremos será crear un SPARQL endpoint que funciona cómo proxy respecto a la fuente de datos.
Antes de enviarla al SPARQL endpoint "con los datos", la query SPARQL que
llega va a ser modificada para que su resultado incluya las triplas que puedan ser deducidas.
El software considerará solo algunas de las posibles reglas de deducción que se dan en RDFS y/o OWL.
Herramientas Utilizadas
Sitos Utiles
- datahub
- Indice de Datos Estructurados Online (RDF, SPARQL Endpoint y otros formatos)
http://datahub.io/
- Linked Open Vocabularies (LOV)
- Indice de Vocabularios RDF
http://lov.okfn.org/
Query/Visualisación RDF Online
- lod live
- Exploración visual de datos RDF
http://en.lodlive.it
- OpenLink RDF Editor
- Exploración y Edición de datos RDF
http://linkeddata.uriburner.com/rdf-editor/
- SparqlBlocks
- Diseño Visual de Query SPARQL
http://sparqlblocks.org/
- YASGUI
- Editor Textual de SPARQL
http://yasgui.org/
Edición/Visualisación Ontologías
- protégé
- Editor de Ontologías (Desktop y Web-based)
http://protege.stanford.edu/
- Visual Notation for OWL Ontologies (VOWL)
- Visualización de Ontologías (Web-based o plugin de Protégé)
http://vowl.visualdataweb.org/
- OWLGrEd
- Visualización de Ontologías (Web-based) y Edición (Desktop, solo para Windows)
http://owlgred.lumii.lv/
- Live OWL Documentation Environment (LODE)
- Script para documentación de ontologías
http://www.essepuntato.it/lode
Razonadores
- RDFS and OWL 2 RL generator service
- Razonador RDFS y OWL-RL: Servicio Online
http://www.ivan-herman.net/Misc/2008/owlrl/
o Librería Python
GitHub: RDFLib/OWL-RL
- HermitT
- Razonador OWL-DL desde Protégé, Java o línea de comando
http://www.hermit-reasoner.com/
- FaCT++
- Razonador OWL-DL desde Protégé o C++
http://owl.man.ac.uk/factplusplus/
- Pellet
- Razonador OWL-DL desde Protégé o Java
https://github.com/complexible/pellet
- jcel
- Razonador OWL-EL desde Protégé o Java
http://julianmendez.github.io/jcel/
- elk
- Razonador OWL-EL desde Protégé o Java
http://elk.semanticweb.org/
Plugin Utiles para Browser
- OpenLink Structured Data Sniffer
- Muestra los datos estructurados (en formatos RDFa y otros) incorporados
en una pagina Web
http://osds.openlinksw.com/
- Advanced Rest Client
- Interfaz Usuario para Comandos HTTP (para Chrome)
en Chrome Web Store
Graph Store
- Dydra
- (servicio online, funcionalidades básicas gratuitas)
http://dydra.com/
- OpenRDF Sesame
- (open source, basado en Java)
http://rdf4j.org/
- Apache Jena Fuseki
- (open source, basado en Java)
https://jena.apache.org/
- OpenLink Virtuoso
- (open source o comercial)
http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/
- rdfstore-js
- (open source, basado en JavaScript, experimental)
https://github.com/antoniogarrote/rdfstore-js
Librerías
- Apache Jena
- (librería completa Java para RDF(S), OWL, SPARQL, Graph Store, ...)
https://jena.apache.org/
- OpenRDF Sesame
- (librería completa Java para RDF(S), OWL, SPARQL, Graph Store, ...)
http://rdf4j.org/
- rdf-ext
- (librería modular JavaScript)
https://github.com/rdf-ext/rdf-ext
- rdflib.js
- (librería JavaScript)
https://github.com/linkeddata/rdflib.js/
- N3.js
- (parsing/serialización streaming y eficiente, en JavaScript)
https://github.com/RubenVerborgh/N3.js/
- jsonld.js
- (transformación de JSON-LD, en JavaScript)
https://github.com/digitalbazaar/jsonld.js
- SPARQL.js
- (parser SPARQL en JavaScript)
https://github.com/RubenVerborgh/SPARQL.js
Datos y Vocabularios
Dataset
- DBpedia
-
Datos estructurados extractos automaticamente de WikiPedia
(principalmente de las InfoBox)
- WikiData
-
Datos creados colectivamente por usuarios (una WikiPedia para
los datos)
- LinkedGeoData
-
Datos extractos automaticamente de Open Street Map
Vocabularios/Ontologías
- RDF Schema
-
Vocabulario estándar para representar conceptos basicos y esquemas
de datos RDF
- XML Schema
-
Vocabulario usado en XML como esquema general de datos, en RDF
solo para asociar tipos a los literales.
- Web Ontology Language (OWL)
-
Vocabulario estándar para representar modelos de datos
(ontologías)
- FOAF
-
Vocabulario para representar relaciones entre personas y informaciones de contacto de las mismas
- Simple Knowledge Organization System (SKOS)
-
Vocabulario para clasificaciòn de conjuntos de datos en categorias,
taxonomias y similares
- Dublin Core Metadata Initiative
-
Vocabulario para metadatos de documentos (ej. creador, titulo, editor)
Ontologías de Ejemplo
Ontologías de ejemplo (basadas en OWL 1)
Referencias
- [AH11]
-
D. Allemang, J. Hendler, Semantic Web for the Working Ontologist
(Second Edition).
Morgan Kaufmann, 2011.
Elsevier
Amazon
Science Direct
Google
- [Cam16]
-
Cambridge Semantics.
Semantic University
- [EUCLID16]
-
EdUcational Curriculum for the usage of LInked Data (EUCLID)
- [W3C16]
-
W3C Standards.
Semantic Web
- [TBL16]
-
Tim Berner-Lee.
Design Issues