[Qualipso-a4] aperture y las ontologias

Jose Gato Luis jgato en gsyc.es
Mar Feb 12 17:56:36 CET 2008


Alvaro del Castillo escribió:
> Hola!
> 
> El mar, 12-02-2008 a las 11:14 +0100, Jose Gato Luis escribió:
>> Buenas,
>>
>> he estado "trasteando" un poco con Aperture para ver como trata el tema 
>> de las ontologias para ver como adaptarlo a las nuestras, básicamente 
>> funciona de la siguiente manera:
>>
>>   * Contenedores RDF, con funciones para añadir y eliminar tripletas.
>>   * Cada ontología tiene un fichero .java con constantes de los 
>> predicados que definen esa ontología. Lo bueno de este punto, es que 
>> tienen una clase que pasándole un fichero RDF te genera el vocabulario 
>> que vas a necesitar, te genera constantes dentro de una clase: 
>> SIOC.java, NMO.java.
>>   * Cada crawler extrae información y añade tripletas RDF con los 
>> predicados extraídos anteriormente.
>>   * Cada extractor extrae información y añade tripeltas RDF con los 
>> predicados extraídos anteriormente.
>>
>>              copyAddress(getRecipients(message, RecipientType.TO), 
>> NMO.to, result);
>>              copyAddress(getRecipients(message, RecipientType.CC), 
>> NMO.cc, result);
>>              copyAddress(getRecipients(message, RecipientType.BCC), 
>> NMO.bcc, result);
>>
>> El problema es que todas estas etiquetas están fuertemente cableadas en 
>> muchas partes del código, y aperture es bastante modular, por lo que nos 
>> implicaría re-implementar cada implementación de los crawlers y los 
>> extractor.
>>
>> Lo suyo, es que estos predicados fueran abstractos  MIME.to y que el 
>> valor de esa constante dependiera según uses una ontologia u otra, 
>> aunque esto se complicaría en que predicados iguales en distintas 
>> ontologias tuvieran posteriormente valores distiontos. POr ejemplo, el 
>> predicado que define un TO, para una ontología tendrá un valor literal y 
>> para otra sera una URI. Aunque tal vez eso podría ser solucionado 
>> facilmente.
>>
>> Metiéndome en las tripas de Aperture, es fácil ver por que no soporta 
>> attachments, simplemente aún no analizan esta parte.
>>
>> Teniendo en cuenta que no existen unos predicados genéricos, los 
>> crawlers y extractor son dependientes de la ontología, con lo que para 
>> nuevas ontologías necesitas nuevos crawlers/extractors :( .
>>
>> O replicamos código, o hacemos un conversor de ontologías.
>>
> 
> Hmmm, el conversor de ontologías parece lo más limpio a estas alturas,
> sobretodo si queremos reutilizar Aperture y lo que vayan desarrollando
> nuevo. Si no, vamos a acabar con un "fork" que será difícil de mantener.
> El problema con esto es que tenemos un nuevo paso añadido que provocará
> problemas de rendimiento: la transformación de datos de unas ontologías
> a otras. Y lo que puede ser peor, que perdamos datos si sus ontologías
> no son suficientemente ricas.

no veo problema de perder información, modificar aperture para 
enriquecer sus extractors es bastante fácil, luego un parche y seguro 
que lo meten en sucesivas versiones, proponerles enriquecer el 
vocabulario de sus ontologias, imagino que será relativamente factible. 
Por ejemplo, para que soporte binarios en attachments.



> 
> Es un tema a analizar en Paris y presentar a las personas de la A3 para
> ver si nos pueden ayudar. Podríamos ir ya mirando parte de su trabajo,
> de la A3, pero me temo que no tenemos tiempo suficiente.
> 
> Hasta luego
> 
> 


-- 
José Gato Luis                   | Libre Software Engineering Lab (GSyC)
Tel: (+34)-914 888 105           | Universidad Rey Juan Carlos
jgato en gsyc.escet.urjc.es         | Edif. Departamental II - Despacho 116
http://libresoft.urjc.es/        | c/Tulipán s/n 28933 Móstoles (Madrid)


Más información sobre la lista de distribución Qualipso-a4