-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
24 changed files
with
74 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
|
||
.DS_Store | ||
|
||
diagnotics/ | ||
|
||
log/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,14 +3,13 @@ | |
|
||
OntoRelα generates from an ontology and a set of configuration files, a set of scripts that create a fully functional relational database (RDB). The method consists of two processes: the ontological analysis and the ontology conversion. The analysis process verifies the structure of the ontology and builds an appropriate internal representation of the ontology. The conversion process converts the ontology constructs into a logical model as SQL scripts that creates the RDB. | ||
|
||
Ontorelα generates from an OWL ontology and some configuration files: (1) scripts for the RDB (RDB scripts), (2) a list of warnings, (3) a mapping dictionary (OntorelDic) and (4) a normalized ontology formalized according to μOnto. μOnto is an abstract notation inspired by the set theory and the description logic ALCQI(D) needed for the logical formulation of a relational data model (Chomicki and Saake, 1998). | ||
|
||
Ontorelα generates from an OWL ontology and some configuration files: (1) scripts for the RDB (RDB scripts), (2) a list of warnings, (3) a mapping dictionary (OntorelDic) and (4) a normalized ontology formalized according to μOnto (MOnto). μOnto is an abstract notation inspired by the set theory and the description logic ALCQI(D) needed for the logical formulation of a relational data model (Chomicki and Saake, 1998). | ||
### References | ||
Khnaisser C, Lavoie L, Burgun A, et al. Generating a relational database for heterogeneous data using an ontology. (research report available through the URL and scientific article currently submitted to JODS). 2019. A summary can be found here http://griis.ca/horg-ontorela/ | ||
Khnaisser C, Lavoie L, Burgun A, et al. Generating a relational database for heterogeneous data using an ontology. (research report available through the URL and scientific article currently submitted to KAIS). 2020. A summary can be found here http://griis.ca/horg-ontorela/ | ||
|
||
## Environnement | ||
μOnto is implemented as in internal independent librabrat and integrated in OntoRelα to represent ontological constructs. | ||
Khnaisser, Christina. « Construction de modèles de données relationnels temporalisés guidée par les ontologies ». Université de Paris cotutelle Université de Sherbrooke, 2019. https://savoirs.usherbrooke.ca/handle/11143/16329. | ||
|
||
## Environnement | ||
OntoRelα is developed in Java 8 with the following external libraries: | ||
* OWLAPI 5.1 for loading and analysing the ontology. | ||
* JGraphT to store a graph representation of the ontology and the RDB. | ||
|
@@ -20,23 +19,23 @@ OntoRelα is developed in Java 8 with the following external libraries: | |
* Logback for logging. | ||
|
||
### Inputs | ||
The ontology configuration (ontology_config.yml) parameterizes the analysis process. It consists of a list of classes and properties of interest and a list of OWL annotations properties. | ||
An ontology configuration (ontology_config.yml) to parameterize the analysis process. It consists of a list of classes and properties of interest and a list of OWL annotations properties. | ||
The μOnto verification generates a list of warnings which includes: | ||
* the list of all classes and properties without labels or definition annotations, | ||
* the list of all classes without a data association axiom, | ||
* and the messages issued by the redundancy reduction step. Moreover, | ||
μOnto can be filtered using a subset of interest classes and interest properties to generate specific RDB. | ||
|
||
The RDB configuration (database_config.yml) parameterizes the conversion process. It consists of the target RDBMS, the name of the database schema, the types of dbid and dtid attributes, the maximum length of table identifiers, data type conversion method, a list of natural languages of interest, and a list of correspondences between OWL types and SQL types according to the target RDBMS. | ||
An RDB configuration (database_config.yml) to parameterize the conversion process. It consists of the target RDBMS, the name of the database schema, the types of dbid and dtid attributes, the maximum length of table identifiers, data type conversion method, a list of natural languages of interest, and a list of correspondences between OWL types and SQL types according to the target RDBMS. | ||
|
||
See __demo__ for examples. | ||
See content of __demo__ for examples. | ||
|
||
### Outputs | ||
OntoRela generates the following outputs: | ||
OntoRelα generates the following outputs: | ||
* DatabaseIdentifierAnomalies.txt : maximum length of an identifier (60 characters for PostgreSQL). | ||
* DatabaseReport.txt : database content summary. | ||
* DatabaseScripts : repository with SQL scripts. | ||
* <ontologyname>.owl_normalized.txt : normalized ontology formalized with μOnto. | ||
* DatabaseScripts : repository for the SQL scripts. | ||
* *ontologyname*.owl_normalized.txt : normalized ontology formalized with μOnto. | ||
* InitialOntoGraph.dot : initial ontology graph. | ||
* MOnto-summary.txt : summary of the ontology builder process. | ||
* OntoGraph.dot : normalized ontology graph. | ||
|
@@ -48,22 +47,34 @@ OntoRela generates the following outputs: | |
* OntoRelDic.json : OntoRelDic in JSON. | ||
* OntoRelDic.txt : OntoRelDic in text. | ||
* OntoRelGraph.dot : ontoRel graph. | ||
* README.txt : summary of OntoRela execution. | ||
* RelGraph.dot : database graph. | ||
* README.txt : summary of OntoRelα execution. | ||
* RelGraph.dot : database relational graph. | ||
|
||
See the content of __results__ for examples. | ||
|
||
## How to use | ||
1. First make sure you have Java installed, Java 1.8+ JDK is required. | ||
2. Download th zip or clone this repository. | ||
3. Run the following command in a terminal: | ||
<code>java -jar OntoRelA-1.0.0.jar *path-To-A-Configuration-Directory*</code> | ||
For example, to generate an RDB schema for the MONDIAL ontology provided in the demo repository run: | ||
<code> java -jar OntoRelA-1.0.0.jar demo/MONDIAL/config00 </code> | ||
|
||
## Work in progress | ||
This version only | ||
* The ontology input must be in OWL | ||
* Generates code for PostgreSQL v9.5+ | ||
The current version can be used with : | ||
* OWL ontology as an input. | ||
* PostgreSQL v9.5+ to execute de SQL files. | ||
|
||
Source code will be available soon. | ||
|
||
### Directories content | ||
## Directories content | ||
__results__ : contain OntoRelα output for various ontologies. <br> | ||
__demo__ : a dataset. <br> | ||
__OntoRela.exe__ : the executable file of the application. | ||
__OntoRelA-1.0.0.jar__ : the executable file of the application. | ||
|
||
## Responsables | ||
For more information please contact : | ||
|
||
Christina Khnaisser : [email protected] <br> | ||
Luc Lavoie : [email protected] <br> | ||
Jean-François Ethier : [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,14 +3,14 @@ | |
|
||
L’application permet de générer un schéma relationnel à partir d’une ontologie : l’ontologie est d’abord analysée, simplifiée puis réduite ; ensuite, chaque composant ontologique est converti en un composant relationnel ; finalement, chaque composant relationnel est traduit en SQL. Tout au long du processus des messages sont produits afin de consigner les anomalies et d’aider leur éventuel traitement. | ||
|
||
OntoRelα génère à partir d’une ontologie OWL et de fichiers de configuration : (1) des scripts pour une base de données relationnelle (2) des listes d’avertissements (3) un dictionnaire d’arrimage (OntoRelDic), et (4) une ontologie normalisée formalisée selon μOnto. μOnto, un modèle simplifié qui est inspiré de la théorie d’ensemble et à certaines parties de la logique de description, notamment ALCQI(D) [Chomicki and Saake 1998:8]. Le but de μOnto est de définir des composants ontologiques et fournir une classification des axiomes adéquate et suffisante pour la conversion en un schéma relationnel tout en préservant l’expressivité ontologique. | ||
OntoRelα génère à partir d’une ontologie OWL et de fichiers de configuration : (1) des scripts pour une base de données relationnelle (2) des listes d’avertissements (3) un dictionnaire d’arrimage (OntoRelDic), et (4) une ontologie normalisée formalisée selon μOnto (MOnto). μOnto, un modèle simplifié qui est inspiré de la théorie d’ensemble et à certaines parties de la logique de description, notamment ALCQI(D) [Chomicki and Saake 1998:8]. Le but de μOnto est de définir des composants ontologiques et fournir une classification des axiomes adéquate et suffisante pour la conversion en un schéma relationnel tout en préservant l’expressivité ontologique. | ||
|
||
### Références | ||
Khnaisser C, Lavoie L, Burgun A, et al. Generating a relational database for heterogeneous data using an ontology. (research report available through the URL and scientific article currently submitted to JODS). 2019. A summary can be found here http://griis.ca/horg-ontorela/ | ||
|
||
## Environnement | ||
μOnto est une bibliothèque interne indépendante qui est intégrée dans OntoRelα pour représenter les composants ontologiques. | ||
Khnaisser, Christina. « Construction de modèles de données relationnels temporalisés guidée par les ontologies ». Université de Paris cotutelle Université de Sherbrooke, 2019. https://savoirs.usherbrooke.ca/handle/11143/16329. | ||
|
||
## Environnement | ||
OntoRelα est mis en œuvre en Java 8 avec les bibliothèques externes suivantes : | ||
* OWLAPI 5.1 pour charger et analyser l’ontologie au format OWL 2, | ||
* JGraphT pour créer le graphe de l’ontologie et le graphe relationnel, | ||
|
@@ -39,7 +39,7 @@ Dans le même dossier, OntoRela va générer tous les résultats : | |
* DatabaseScripts : dossier contenant tous les scripts SQL de la base de données. | ||
* <ontologyname>.owl_normalized.txt : l’ontologie normalisée selon μOnto. | ||
* InitialOntoGraph.dot : le graphe de l’ontologie initiale. | ||
* MOnto-summary.txt : résumé de l'éxecution de contruction de l'ontologie. | ||
* MOnto-summary.txt : résumé de l'exécution de construction de l'ontologie. | ||
* OntoGraph.dot : le graphe de l’ontologie normalisée et filtrée | ||
* OntologyAnnotationDiagnostics.txt : les avertissements sur les annotations ontologiques. | ||
* OntologyAnomalies.txt : les avertissements sur les classes orphelines et sans axiomes de données. | ||
|
@@ -52,8 +52,18 @@ Dans le même dossier, OntoRela va générer tous les résultats : | |
* README.txt : résumé de l’exécution d’OntoRela. | ||
* RelGraph.dot : le graphe de la base de données. | ||
|
||
Voir dans le dossier __resultat__ pour des exemples de sorties. | ||
|
||
## Utilisation | ||
1. Vérifier si vous avez Java installé, Java 1.8+ JDK is nécessaire. | ||
2. Télécharger le zip ou cloner ce dépôt Git. | ||
3. Exécuter la commande ci-dessous dans une console: | ||
<code>java -jar OntoRelA-1.0.0.jar *path-To-A-Configuration-Directory*</code> | ||
Par exemple, pour générer la base de données pour l'ontologie MONDIAL fournie dans le dossier __demo__ exécuter: | ||
<code> java -jar OntoRelA-1.0.0.jar demo/MONDIAL/config00 </code> | ||
|
||
## Travail en cours | ||
Cette version : | ||
La version courante : | ||
* Prend en entrée une ontologie en OWL 2 | ||
* Génère un schéma compatible avec PostgreSQL v9.5+ | ||
|
||
|
@@ -62,9 +72,11 @@ Le code complet sera bientôt disponible. | |
### Structure du dépôt | ||
__results__ : contain OntoRelα output for various ontologies. <br> | ||
__demo__ : un jeu de données avec des ontologies et des configurations. <br> | ||
__OntoRela.exe__ : l’exécutable de l’applicaiton. | ||
__OntoRelA-1.0.0.exe__ : l’exécutable de l’applicaiton. | ||
|
||
## Responsables | ||
Pour plus d'information, contacter : | ||
|
||
Christina Khnaisser : [email protected] <br> | ||
Luc Lavoie : [email protected] <br> | ||
Jean-François Ethier : [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters