Skip to content

This platform enables the automated transformation of conceptual models created with EMF, Papyrus, or ADOxx into a Knowledge Graph which can be represented by GraphML, RDF, and OWL2.

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
License.txt
Notifications You must be signed in to change notification settings

borkdominik/CM2KG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

This platform enables the automated transformation of conceptual models created with EMF, Papyrus, or ADOxx into a Knowledge Graph which can be represented by GraphML, RDF, and OWL2.

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
License.txt

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •