ScienceOfComputerProgramming / SCICO-D-22-00357

CM2KGcloud – An open web-based platform to transform conceptual models into knowledge graphs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Conceptual Model to Knowledge Graph (CM2KG) Platform

Repository containing the implementation of the CM2KG platform. ScreenShot

Transformation clases

Utility class for Archi can be found under at.ac.tuwien.big.msm.cmgba.graphml/src/utilities/ArchiUtility.java:

public void setFile(File file);
public void transform(String filename);
public File getFile();
public String getGraphXML();

Utility class for ADOxx can be found under at.ac.tuwien.big.msm.cmgba.graphml/src/utilities/ADOxxUtility.java:

public void setFile(File file);
public void transform(String filename);
public File getFile();
public String getGraphXML();

Utility class for ADOxx can be found under at.ac.tuwien.big.msm.cmgba.graphml/src/utilities/PapyrusUMLUtility.java:

public void setFile(File file);
public void transform(String filename);
public File getFile();
public String getGraphXML();

Web UI

To start the Web UI navigate to webapp folder and start the Spring Application. The default port the app is running is 8080. Default app can be accessed http://localhost:8080/cm2kg.

Requirements

In order to use Neo4j the database connection should be configured in at.ac.tuwien.big.msm.cmgba.graphml\src\graphDb\neo4jConnector.java:

private Driver driver;
private String uri = "bolt://localhost:7687";
private String user = "neo4j";
private String password = "admin";

In order to configure neovis.js connection to Neo4j database parameters should be set in webapp\src\main\resources\graphDb\application.properties:

neovis.server_url=bolt://{public_neo4j_url}:7687
neovis.server_user=neo4j
neovis.server_password=admin

REST Api for transformation

Platform provides API for transformation of models. Method: POST Endpoint cm2kg/api/transformation/{model type} Payload request: multipart/form-data request

The Open Group ArchiMate Model Exchange File Format can be transformed via POST request to /api/transformation/archi. Parameters: file. ADOxx File Format can be transformed via POST request to /api/transformation/adoxx. Parameters: file, dtdfile. Papyrus UML File Format can be transformed via POST request to /api/transformation/papyrusuml. Parameters: file. Response structure:

{
    "id": "{uid}",
	"transformedGraph": "{transformed_graphml_xml_file_content}"
}

Sample Experiments

The sample source models can be found under Experiments folder: ADOxx: ADOxx/TEAM/ArchiMetal/soruce models Archi: EMF/Archi/ManyModels/repo-github-archimate/models/OpenGroup Format PapyrusUML: PapyrusUML

Smell Queries

The Neo4j queries for EA and UML code smell detection can be found in at.ac.tuwien.big.msm.cmgba.graphml/smellQueries/ folder.

Large scale experiments

Large scale utility class for running experiments with a lot of models is implemented in ExperimentUtility.java located in at.ac.tuwien.big.msm.cmgba.graphml/src/at/ac/tuwien/big/msm/cmgba/graphml folder. Examples can be seen in at.ac.tuwien.big.msm.cmgba.graphml/src/experiments.

Knowledge representation

This repository uses graphml2rdf (https://github.com/cui-ke/graphml2rdf) implementation to enable export to RDF/OWL.

About

CM2KGcloud – An open web-based platform to transform conceptual models into knowledge graphs

License:MIT License


Languages

Language:Java 83.7%Language:JavaScript 14.1%Language:HTML 1.5%Language:CSS 0.4%Language:XSLT 0.2%Language:D 0.0%Language:Dockerfile 0.0%