Las ontologías y grafos de conocimientos son ampliamente usados para la Web Semántica y
la Inteligencia Artificial [5]. Estas formas de representación de conocimiento se utilizan en la
medicina1
[12, 11],
la genética2
,
la industria del petróleo [18], la biología marina [19], la ciberseguridad [8], etc. Sin
embargo, los sistemas informáticos actuales almacenan la información en bases de
datos relacionales, en formatos basados en XML o JSON, en archivos de datos de tipo
CSV o TSV, entre otros. Para que estos datos puedan ser usados en la Web
Semántica, deben utilizarse motores de asociación, que se conectan con estas
fuentes y producen grafos de conocimientos con la estructura requerida por los
usuarios. Estos motores, en su mayoría, han prevalecido aquellos que también se
alimentan de reglas de asociación (mapping rules) para definir cómo generar
los elementos de los grafos de conocimiento y qué información de la fuente
utilizar [4].
La creación de estas reglas es un proceso realizado habitualmente por ingenieros ontológicos que requiere de diversos conocimientos: el dominio, la estructura de la fuente de datos, la información que los diferentes stackholders desean consultar, la ontología y el vocabulario destino, etc. Por consiguiente, el diseño de estas reglas debe poder ser fácil de comunicar entre los ingenieros y a las distintas personas involucradas en el proceso y a los futuros usuarios.
Para realizar estos diseños, se puede utilizar un lenguaje visual ya que facilita la comprensión del modelo. En la ingeniería de software, lo habitual es utilizar lenguajes de este tipo, por ejemplo: UML [15], BPMN [14] y MER [3]. Si bien, existen lenguajes visuales para representar reglas de asociación, estos no son estándares y son implementados por herramientas donde la sintaxis y semántica dependen fuertemente de la utilidad de las mismas. Cabe mencionar que, los lenguajes de modelado de la ingeniería de software, no son utilizados por estos lenguajes visuales, por ejemplo, para representar la fuente de datos.
Por ello, se propone un metodología para identificar mejoras sobre un lenguaje visual para la ingeniería de asociaciones. Se hace énfasis en ampliar la efectividad cognitiva y la expresividad de los mismos para comunicar las reglas de forma visual.
Esta metodología comienza con la descripción del lenguaje visual, describiendo su sintaxis visual y la semántica asociada. Para ello, se requiere relevar y analizar artículos que describan el lenguaje o la herramienta que lo utiliza y sus casos de estudio. Además, se utilizan ejemplos para interpretar la asociación entre cada sentencia del diagrama y su representación en las reglas de asociación.
Luego, se estudia la descripción realizada con respecto a los principios de Physics of Notations (PoN) planteados en [13]. Estos, describen criterios que persiguen ampliar la expresividad del lenguaje, reducir ambigüedades, gestionar la complejidad de los diagramas de gran tamaño y proponer dialectos para diferentes audiencias (p. ej.: personas con o sin experiencia en el uso del lenguaje) y medios (p. ej.: digital, papel, impresión, etc.).
Así, una vez analizado el lenguaje, se sugieren posibles modificaciones para que éste cumpla en mayor medida con los principios de PoN. Asimismo, se plantea la forma en que cada opción posible a modificar afecte, no solo al criterio que se hace foco, sino también a los otros, proveyendo recomendaciones para evitar impactos negativos.
En conclusión, se provee un procedimiento que busca describir a un lenguaje, analizarlo según los principios de PoN y, en base a este resultado, proponer mejoras y consideraciones para ampliar la expresividad y la comprensión de los diagramas producidos con el lenguaje. Considerando también el objetivo particular del lenguaje mismo, y a su vez la audiencia a la cual se desea presentar los diagramas.
Para comprender el funcionamiento del procedimiento propuesto se aplica esta metodología a lenguajes visuales existentes, particularmente Map-on [16], SQuaRE [1, 2], Juma [10, 9], KR2RML/Karma [17] y MapVOWL/RMLEditor [6].
Se espera que la utilización de esta metodología permita la creación de lenguajes más comprensibles y que facilite la comunicación de las reglas de asociación entre los ingenieros y los diferentes stackholders. Asimismo, esta investigación promueve mejoras en herramientas gráficas como crowd3 para brindar soporte Ontology-Based Data Access (OBDA) con el fin de popular esquemas ontológicos con instancias por medio del uso de diseños visuales de reglas de asociación fáciles de entender.