Sie sind auf Seite 1von 6

PEC 3

Presentacin
En esta Prueba de Evaluacin Continuada se ejercitan los contenidos sobre las
aplicaciones que trabajan con ontologas. La PEC combina tres ejercicios donde
tendris que realizar consultas mediante el lenguaje semntico SPARQL, tendris que
introducir y extraer conocimiento de una ontologa a travs de una aplicacin y
tendris que calcular la similitud y distancias entre trminos de la ontologa. El ncleo
de la PEC es una aplicacin Java que interacta con la ontologa. Esta PEC se realiza
de manera individual. Tendris que entregar un solo fichero comprimido con las
soluciones.

Competencias
En esta PEC se desarrollan las siguientes competencias del Grado en Ingeniera
Informtica:
Capacidad de analizar un problema en el nivel de abstraccin adecuado a cada
situacin y aplicar las habilidades y conocimientos adquiridos para abordarlo y
resolverlo.
Capacidad para aplicar las tcnicas especficas de tratamiento,
almacenamiento y administracin de datos.

Objetivos
Los objetivos concretos de esta Prueba de Evaluacin Continuada son:
Realizar consultas a una ontologa utilizando un lenguaje semntico.
Conocer herramientas para introducir y extraer informacin de manera
automtica de las ontologas.
Calcular distancias y similitudes entre conceptos de una ontologa.

Representacin del conocimiento PEC 2 pg 1


Descripcin de la PEC a realizar

Ejercicio 1 [25%]
El proyecto DBPedia quiere hacer accesible la informacin que tenemos a la
Wikipedia, no slo a las personas, sino tambin a las mquinas. Para hacerlo define
una ontologa con los datos de la Wikipedia que se puede consultar mediante el
lenguaje SPARQL.
Este ejercicio tiene como objetivo realizar diferentes consultas a la ontologa utilizando
el lenguaje SPARQL a travs del endpoint disponible http://es.dbpedia.org/sparql.

Para hacerlo, tendrais que explorar un poco la ontologa y ver ejemplos de consultas:
http://es.dbpedia.org/wiki/wiki.jsp?page=ejemplos%20de%20consultas
%20SPARQL
http://it.dbpedia.org/sparql

Se pide implementar las siguientes consultas:

A. Muestra todas las instancias de Food con la empresa que se ha fabricado


(manufacturer) ordenadas por el fabricante. Si no tienen esta propiedad no se
han de mostrar.
B. Muestra todas las instancias de Food con la empresa que las ha fabricado y el
pas donde se ha fabricado.
C. Muestra todos los campos de todas las instancias de Food que tienen como
origen Barcelona
D. Muestra las empresas que ha fabricado (manufacturer) comida (Food) en
Estados Unidos. Supondremos que cuando una empresa prodcue comida en
un pas se indica en su descripcin. Por tanto, tendremos que buscar las
empresas que en su abstract contengan Estados Unidos
E. Muestra los productos que fabrica The Coca-Cola Company, y, si tienen, el
ao en el que fueron introducidos en el mercado (propiedad introducido)
ordenado por producto.

Representacin del conocimiento PEC 2 pg 2


Ejercicio 2 [35%]

En este ejercicio trabajaremos con una API que permite desarrollar aplicaciones con
ontologas, y con su razonador. Para realizar el ejercicio usaremos el API de Jena. Con
este ejercicio abriris una ontologa previamente creada desde Protg, aadiris
nuevos elementos y aplicaris el razonador incorporado, obteniendo los resultados por
pantalla.

Para realizar la actividad necesitaris el siguiente material:


IDE Eclipse. Se puede descargar esta versin
http://www.eclipse.org/downloads/packages/eclipso-ide-java-
developers/mares2 o si tenis Linux, desde los repositorios.
Se proporciona un proyecto Eclipse con la configuracin necesaria. Dentro del
proyecto encontraris:
La clase Exercise2.java, tendris que completar el cdigo donde haya
los comentarios etiquetados con //TODO
Algunas funciones implementadas (ejemplo printStatements) que
podis usar para resolver el ejercicio
Otras clases en el package uoc.utils para facilitar trabajar con la entrada
de datos.
En la carpeta data tenis:
un fichero con la ontologa a utilizar (open-food-facts-PEC3.owl),
un fichero build que tendris que llenar con las reglas que os
pediremos en el apartado b (healthyRules.rules)
un fichero que contiene la entrada de datos (Exercise2.csv)
En la carpeta lib estn las libreras Jena y otras necesarias para el
proyecto
El manual que ofrece Jena en las pginas:
https://jena.apache.org/documentation/ontology/
https://jena.apache.org/documentation/inference/ especialmente del
apartado The OWL Reasoner en adelante.

La entrega constar de:


El documento de explicaciones con las respuestas pedidas, los fragmentos de
cdigo que corresponda (explicados) y la salida que proporcione vuestro
programa.
El fichero Exercise2.java con vuestra implementacin.
El fichero healthyRules.rules con la regla pedida.

Se pide implementar las siguientes partes:


A. Implementad el procedimiento sectionA:
a. Explicad que hace la funcin createOntModel, en especial el hecho de
escoger el flag OWL_MEM_MICRO_RULE_INF.

Representacin del conocimiento PEC 2 pg 3


b. Implementad la funcin createProductNameInfividual (TODO 1) que
aadir una nueva instancia del tipo product_name indicado en
row.get(1).
c. Implementad la funcin addSameAsIndividual (TODO 2) que aadir la
propiedad sameAs a la instancia.
d. Implementad TODO 3, que aadir un label a la instancia.
e. Implementad addObjectPropertyToIndividual (TODO 4) que aadir la
propiedad property con el valor value al individual.
f. Implementad TODO 5 donde se tienen que aadir las propiedades:
i. is_packaged_with con valor row.get(3).
ii. is_originated_at con valor row.get(4).
iii. is_manufactured_at con valor row.get(5).
iv. is_stored_at con valor row.get(6).
g. Implementad TODO 6 para hacer que el individual sea tambin
instancia de las clases alergens[j].
h. Implementad TODO 7 para hacer que el individual sea tambin
instancia de las clases row.get(8) (una pnns_group).
i. Implementad TODO 8 para aadir un valor literal entero (row.get(9)) a la
propiedad has_energy.
j. Implementad en TODO 9 el cdigo que falta para imprimir la lista de
instancias de Allergens.
k. Implementad en TODO 10 el cdigo necesario para imprimir la lista de
instancias de Energy que tengan la propiedad has_energy con valor
mayor que limit. Por qu pensis que salen estos resultados?
l. Implementad en TODO 11 el cdigo necesario para imprimir los
productos que tienen un packaging no reciclable
B. Crear una regla al fichero healthyRules.rules que diga que cualquier instancia
que tenga energa menor o igual a 500 y no sea instancia de Allergens ser de
tipo Healthy_food.
C. Implementad la funcin sectionB (TODO12) para aplicar el fichero de reglas al
modelo. Contestad a las siguientes preguntas:
a. El resultado mostrado por pantalla cumple la regla del apartado B?
b. Qu ha hecho el razonador de Jena?

Representacin del conocimiento PEC 2 pg 4


Ejercicio 3 [40%]

Las medidas de similitud semntica cuantifican similitudes conceptuales en una


ontologa dada. Las aplicaciones potenciales de estas medidas incluyen la bsqueda,
la minera de datos y el descubrimiento de conocimiento en sistemas de bases de
datos o de soporte a la toma de decisiones que utilizan ontologas. Hay diferentes
medidas de similitud en conceptos de la ontologa que tienen diferentes enfoques
semnticos. En este ejercicio trabajaremos con una API de Jena que nos permitir
calcular similitud y distancias entre trminos. Del mismo modo que el ejercicio anterior,
esta clase contiene el cdigo etiquetado con TODO que habr que implementar. Las
medidas que se implementarn se basarn en el contenido del Tutorial jColibri2 de las
pginas 56, 57 y 58.

a. Dada la ontologa de la PEC, y dadas dos clases Glass (g) y Wood (w), indica
cul sera el valor de las medidas CN, LCS(g,w), proof(g), proof(w), super(g,
Consumer_group/dietary) y comenta con tus propias palabras el porqu.
b. Describe con tus propias palabras las principales similitudes y diferencias entre
las 4 medidas de similitudes del Tutorial jColibri2 (fdeep_basic, fdeep, cosine,
detail). En qu caso utilizaras cada una de ellas? Pon ejemplos de aplicacin
de cada una de ellas en la temtica de la ontologa de la PEC 3. Para entender
las funciones, adems de la frmula de la pgina 57 puedes mirar el ejemplo
de aplicacin de funciones de similitud de las ciudades que aparece al Tutorial
jColibri2 en las pginas 57 y 58.
c. Implementa las funciones fdeep_basic y fdeep en el cdigo que falta de la
clase Java.
d. Calcula 3 similitudes de 3 pares de clases con las dos funciones y compara los
resultados de los dos mtodos. Qu funcin es ms adecuada para cada par?
Justifica tu respuesta.

Recursos
Los siguientes recursos son de utilidad para la realizacin de la PEC:

Bsicos
Mdulo didctico 1 y 2
Unidad didctica Datos abiertos y enlazados

Complementarios
Links BDpedia
http://wiki.dbpedia.org/about
http://es.dbpedia.org/sparql
http://mappings.dbpedia.org/server/ontology/clases/

Representacin del conocimiento PEC 2 pg 5


http://es.dbpedia.org/wiki/wiki.jsp?page=ejemplos de consultas SPARQ
http://it.dbpedia.org/sparql
Tutoriales y API de Jena
https://jena.apache.org/documentation/ontology/
https://jena.apache.org/documentation/inference/
https://jena.apache.org/documentation/ontology/#running-example-the-
eswc-ontology
https://jena.apache.org/documentation/javadoc/jena/index.html

Tutorial jColibri:
http://gaia.fdi.ucm.es/files/people/juanan/jcolibri/downloads/tutorial.pdf
Sintaxis SPARQL: https://www.w3.org/tr/rdf-sparql-query/#sparqlSyntax
Lenguaje Web Ontology Language (OWL)
http://www.w3.org/tr/owl-ref/

Criterios de valoracin
La ponderacin de los ejercicios es la siguiente:
Ejercicio 1: 25%
Ejercicio 2: 35%
Ejercicio 3: 40%

Formato y fecha de entrega


Hay que entregar un nico fichero .zip por persona que contenga:
1. El documento Word, Open Office o PDF con las respuestas a las preguntas.
2. El Fichero Exercise2.java con la implementacin requerida al ejercicio 2, a los
lugares marcados por //TODO.
3. El fichero Exercise3.java con la implementacin requerida al ejercicio 3, a los
lugares marcados por //TODO.
4. El fichero healthyRules.rules con la regla requerida implementada.

Este documento se tiene que entregar en el espacio de Entrega y Registro de AC del


aula antes de las 23:59 del da 29 de mayo. No se aceptarn entregas fuera de plazo.

Representacin del conocimiento PEC 2 pg 6

Das könnte Ihnen auch gefallen