2nd International Symposium on "Generation and Transfer of Knowledge for Digital Transformation"
SITIC2023
Abstract
SUMMARY OF THE TOPIC KNOWLEDGE GRAPHS OF SCIENCE IN CUBA
Author: Ricardo Aguilera Casabella
Tutor: Amed Leiva Mederos
Problematic situation
A computational solution is required that allows the construction of a knowledge graph for science in Cuba.
The scientific problem to be solved is manifested in the absence of tools that support the retrieval of information about science in Cuba by integrating annotation, ontological reasoning and Artificial Intelligence.
Hypothesis:
With the conception and implementation of a knowledge graph, it is possible:
group all the data of Cuban science
facilitate information retrieval
detail infer the knowledge generated by the nation.
What is a knowledge graph?
In general, authors tend to consider it as something more than an ontology, although everyone agrees that it is a knowledge base or ontology composed of the schema and the data.
To differentiate it from a conventional knowledge base, some authors define it in relation to large data sets and/or the use of a reasoning system.
The concept has gained popularity in the last decade, in which most technological projects that use knowledge graphs handle large amounts of data and require a reasoning system to obtain results.
Ontology-based reasoning
Ontology-based reasoning is an approach that combines logic and inference with the formal representation of knowledge in an ontology. An ontology is a structure that captures the relevant concepts of a domain and the relationships between them in a semantic way.
By applying ontology-based reasoning to a knowledge graph, ontologies are designed and constructed that represent the specific domain of interest. This involves identifying the key concepts and relevant relationships within the domain and establishing a hierarchical structure and relationships between them.
Once the ontology is defined, logical rules and inference algorithms can be used to perform reasoning on the knowledge graph. These rules allow logical conclusions to be drawn from the data represented in the ontology and to discover new relationships or infer additional information.
Used tools
1. NEO4J: It is an open source graph database. Stores and manages data in the form of graphs. It is used to model and query highly connected and complex data.
2. Cypher: It is a Neo4j-specific query language. It relies on graph patterns to describe the structure of the data you want to query and uses query operations to filter, sort, and transform the data.
3. JS (JavaScript): It is a programming language widely used in web development. It is compatible with most browsers and is used to add interactivity and functionality to websites.
4. Next.js: It is a React web development framework. Provides additional framework and tools for creating single page web applications (SPA) and server-side rendering (SSR) applications. Next.js simplifies the development process and improves the performance of web applications.
5. GIT: It is a distributed version control system. Git makes it easy to manage branches, merges, and reverting changes, helping you maintain a complete and organized project history.
6. GitHub: It is a code repository hosting platform based on Git. It allows developers to store, manage and collaborate on software projects remotely.
7. Protégé: It is a flexible and powerful tool that facilitates the creation, management and reasoning about ontologies, making it a popular choice in the field of semantic web and artificial intelligence.
Graph creation process
1- Knowledge capture
The first step is the process of capturing knowledge through:
the definition of entities (entities), relationships (object properties) and attributes (data properties) in an ontology created with the Protege software.
Entities are defined to identify and represent the key elements of the study domain
Relationships establish meaningful connections between entities.
Attributes provide additional and detailed information about entities. By clearly defining these entities, relationships and attributes, a structured and accurate representation of the knowledge relevant to the research is achieved.
2-Extraction of knowledge
The second step is the extraction of knowledge, which consists of transforming the Ciencia Cuba model into CSV files.
Entities present in the model, such as organizations, people, and publications, are identified and converted into individual tables in CSV.
A uniform structure is established in the CSVs to ensure a clear and consistent representation of the data.
Additionally, relationships between entities are taken into account and additional tables are created in CSV format to represent these connections.
The coherence and consistency of the data is ensured through established criteria.
Once the CSVs are complete, they are imported into a database in a database management system, such as NEO4J. This allows for efficient querying of captured information and availability of data for analysis and exploration.
3-Design of the reasoning model
For the third step, an ontology is used as a reasoning model.
Ontology provides a formal and semantic structure for the representation of knowledge, which facilitates its manipulation and reasoning.
Through the ontology, entities, relationships and attributes can be coherently organized and related, which is essential to obtain meaningful conclusions and make inferences in the project.
A reasoning model has been developed for the visualization of the different entities using the Neo4j database.
In this model, nodes, relationships and their properties are created for modeling using the Neo4j database.
The Neo4j database stores and records all types of entities, their attributes and the relationship between the entities.
4-Design of queries with Cypher
Cypher is a query language used in Neo4j, a graph database.
It was designed specifically to work with data in the form of graphs and allows efficient queries and data manipulations.
Queries are expressed in the form of graph patterns. These patterns consist of nodes, relationships, and properties, and are used to describe the data structures that you want to query or manipulate.
Cypher's operation is based on the combination of graph patterns and query operations. Graph patterns are used to specify what data you want to retrieve or manipulate, while query operations are used to filter, sort, and transform the data.
Queries in Cypher run on a graph database engine, such as Neo4j, which optimizes the execution.
execution of queries to obtain optimal performance.
Resumen
RESUMEN DEL TEMA GRAFO DE CONOCIMIENTO DE LA CIENCIA EN CUBA
Autor: Ricardo Aguilera Casabella
Tutor: Amed Leiva Mederos
Situación Problemática
Se requiere de una solución computacional que permita la construcción de un grafo de conocimiento para la ciencia en Cuba.
El problema científico a resolver se manifiesta en ausencia de herramientas que admitan la recuperación de información sobre la ciencia en Cuba integrando la anotación, el razonamiento ontológico y la Inteligencia Artificial.
Hipótesis:
Con la concepción e implementación de un grafo de conocimiento, es posible:
agrupar todos los datos de la ciencia cubana
facilitar la recuperación de la información
detallar inferir el conocimiento generado por la nación.
¿Qué es un grafo de conocimiento?
En general, los autores suelen considerarlo como algo más que una ontología, aunque todos están de acuerdo en que se trata de una base de conocimiento u ontología compuesta por el esquema y los datos.
Para diferenciarlo de una base de conocimiento convencional, algunos autores lo definen en relación con grandes conjuntos de datos y/o la utilización de un sistema de razonamiento.
El concepto ha ganado popularidad en la última década, en la que la mayoría de los proyectos tecnológicos que emplean grafos de conocimiento manejan grandes cantidades de datos y requieren de un sistema de razonamiento para obtener resultados.
Razonamiento basado en ontologías
El razonamiento basado en ontologías es un enfoque que combina la lógica y la inferencia con la representación formal del conocimiento en una ontología. Una ontología es una estructura que captura los conceptos relevantes de un dominio y las relaciones entre ellos de manera semántica.
Al aplicar el razonamiento basado en ontologías a un grafo de conocimiento, se diseñan y construyen ontologías que representan el dominio específico de interés. Esto implica identificar los conceptos clave y las relaciones relevantes dentro del dominio y establecer una estructura jerárquica y de relaciones entre ellos.
Una vez que la ontología está definida, se pueden utilizar reglas lógicas y algoritmos de inferencia para realizar razonamientos sobre el grafo de conocimiento. Estas reglas permiten extraer conclusiones lógicas a partir de los datos representados en la ontología y descubrir nuevas relaciones o inferir información adicional.
Herramientas utilizadas
1. NEO4J: Es una base de datos de grafos de código abierto. Almacena y gestiona datos en forma de grafos. Es utilizado para modelar y consultar datos altamente conectados y complejos.
2. Cypher: Es un lenguaje de consulta específico de Neo4j. Se basa en patrones de grafos para describir la estructura de los datos que se desean consultar y utiliza operaciones de consulta para filtrar, ordenar y transformar los datos.
3. JS (JavaScript): Es un lenguaje de programación ampliamente utilizado en el desarrollo web. Es compatible con la mayoría de los navegadores y se utiliza para agregar interactividad y funcionalidad a los sitios web.
4. Next.js: Es un framework de desarrollo web de React. Proporciona una estructura y herramientas adicionales para crear aplicaciones web de una sola página (SPA) y aplicaciones de renderizado del lado del servidor (SSR). Next.js simplifica el proceso de desarrollo y mejora el rendimiento de las aplicaciones web.
5. GIT: Es un sistema de control de versiones distribuido. Git facilita la gestión de ramas, fusiones y la reversión de cambios, lo que ayuda a mantener un historial completo y organizado del proyecto.
6. GitHub: Es una plataforma de alojamiento de repositorios de código basada en Git. Permite a los desarrolladores almacenar, gestionar y colaborar en proyectos de software de forma remota.
7. Protégé: Es una herramienta flexible y potente que facilita la creación, gestión y razonamiento sobre ontologías, lo que la convierte en una opción popular en el campo de la web semántica y la inteligencia artificial.
Proceso de creación del grafo
1- Captura de conocimiento
El primer paso es el proceso de captura del conocimiento mediante:
la definición de entidades(entities), relaciones(object properties) y atributos (data properties) en una ontología creada con el software Protege.
Las entidades se definen para identificar y representar los elementos clave del dominio de estudio
Las relaciones establecen conexiones significativas entre las entidades.
Los atributos proporcionan información adicional y detallada sobre las entidades. Al definir claramente estas entidades, relaciones y atributos, se logra una representación estructurada y precisa del conocimiento relevante para la investigación.
2-Extracción del conocimiento
El segundo paso es la extracción del conocimiento que consiste en transformar el modelo Ciencia Cuba en archivos CSV.
Se identifican las entidades presentes en el modelo, como organizaciones, personas y publicaciones, y se convierten en tablas individuales en formato CSV.
Se establece una estructura uniforme en los CSV para garantizar una representación clara y consistente de los datos.
Además, se tienen en cuenta las relaciones entre las entidades y se crean tablas adicionales en formato CSV para representar estas conexiones.
Se asegura la coherencia y consistencia de los datos mediante criterios establecidos.
Una vez que los CSV están completos, se importan a una base de datos en un sistema de gestión de bases de datos, como NEO4J. Esto permite una consulta eficiente de la información capturada y la disponibilidad de los datos para su análisis y exploración.
3-Diseño del modelo de razonamiento
Para el tercer paso ,se utiliza una ontología como modelo de razonamiento.
La ontología proporciona una estructura formal y semántica para la representación del conocimiento, lo que facilita su manipulación y razonamiento.
A través de la ontología, se pueden organizar y relacionar de manera coherente las entidades, relaciones y atributos, lo cual es fundamental para obtener conclusiones significativas y realizar inferencias en el proyecto.
Se ha desarrollado un modelo de razonamiento para la visualización de las distintas entidades utilizando la base de datos Neo4j.
En este modelo, se crean nodos, relaciones y sus propiedades para el modelado utilizando la base de datos de Neo4j.
La base de datos de Neo4j almacena y registra todo tipo de entidades, sus atributos y la relación entre las entidades.
4-Diseño de las consultas con Cypher
Cypher es un lenguaje de consulta utilizado en Neo4j, una base de datos de grafos.
Fue diseñado específicamente para trabajar con datos en forma de grafos y permite realizar consultas y manipulaciones de datos de manera eficiente.
Las consultas se expresan en forma de patrones de grafos. Estos patrones consisten en nodos, relaciones y propiedades, y se utilizan para describir las estructuras de datos que se desean consultar o manipular.
El funcionamiento de Cypher se basa en la combinación de patrones de grafos y operaciones de consulta. Los patrones de grafos se utilizan para especificar qué datos se desean recuperar o manipular, mientras que las operaciones de consulta se utilizan para filtrar, ordenar y transformar los datos.
Las consultas en Cypher se ejecutan en un motor de base de datos de grafos, como Neo4j, que optimiza la ejecución de las consultas para obtener un rendimiento óptimo.
About The Speaker
Ricardo Aguilera Casabella
Discussion