Author Topic: Sharing Archi models in a Graph database  (Read 5355 times)

fpolimen

  • Newbie
  • *
  • Posts: 2
Sharing Archi models in a Graph database
« on: May 13, 2016, 05:21:07 AM »
Hi,

Is there any initiative to develop a plugin for a Graph database as a repository for sharing models ?

Francesco

Jean-Baptiste Sarrodie

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 314
  • Archi Evangelist and Contributor. Visionary.
    • About me...
Re: Sharing Archi models in a Graph database
« Reply #1 on: May 13, 2016, 10:49:59 AM »
Hi,

No, there's no plugin currently being developed for that.

IMHO using a Graph Database as a repository for sharing models is not the best solution because there are lots of constraints to actually share models in a repository (branches, merges, commits, history, conccurent access, locks...).

But exporting the model itself (not the diagrams) to a Graph DB is something really interresting because it would allow someone to explore it and do some computation (impact analysis...). With such "simple" usecase, one could easily develop an export plugin.

Regards,

JB

Phil Beauvoir

  • Archi Master
  • Hero Member
  • *****
  • Posts: 635
    • Archi
Re: Sharing Archi models in a Graph database
« Reply #2 on: May 13, 2016, 19:00:39 PM »
I agree. Personally I'm very interested in graph databases simply because I don't know that much about them but I have read about Neo4J. But as JB says the problem with any DB is the connection and synchronisation between Archi and the DB itself, whether it's a graph DB, SQL or something else.

fpolimen

  • Newbie
  • *
  • Posts: 2
Re: Sharing Archi models in a Graph database
« Reply #3 on: May 14, 2016, 18:10:24 PM »

I am thinking to the possibility to represent models as Graphs in a Graph DB to have such advanced analysis, as mentioned by JB, and more dynamic functionalities for example in the management of Transitions.

I'm not an expert of Graph DB and I am not aware of such limitations as repository vs traditional RDBMS,
maybe one could start thinking on how to map models on a graph (eventually inside the kernel of the product) and then think how to scale the solution to a shared repository

peterson.br

  • Newbie
  • *
  • Posts: 1
Re: Sharing Archi models in a Graph database
« Reply #4 on: July 06, 2016, 17:25:33 PM »
Hi,
I played around with this idea with good results.

What I used:
- Archi (with OpenExchangeFile plugin)
- OrientDB (Graph and Document Database - http://orientdb.com)
- Java language

What I did:
1 - Generated java classes from OpenExchangeFile XSD (using jaxb)
2 - Exported .archimate file to OpenExchangeFile format (xml)
3 - Created a program in Java that imports the generated XML file and exports it to OrientDB

Then I used OrientDB Studio (Studio is a web interface for the administration of OrientDB that comes in bundle with the OrientDB distribution - run queries and draw simple graphs).

Sample Process (Portuguese):


Result in OrientDB (query what systems and proccess are related to an infrastructure service):


All the process was pretty straighforward (something like 4-6 hours). If anyone is interested in more details, just ask :)
« Last Edit: July 06, 2016, 17:30:08 PM by peterson.br »

michem

  • Newbie
  • *
  • Posts: 1
Re: Sharing Archi models in a Graph database
« Reply #5 on: July 13, 2016, 13:07:57 PM »
I did a similar exercise in Neo4j.

I agree that it is not the way to go for sharing/repository, but very good for model exploration and querying..

Blogpost on my experience here:

https://twitter.com/michemt/status/753192748799369220
http://www.loqutus.com/content/exploring-archimate-models-graph-database

Hervé

  • Senior Member
  • ****
  • Posts: 199
Re: Sharing Archi models in a Graph database
« Reply #6 on: September 06, 2016, 20:50:58 PM »
Hi,

I'm currently adding Neo4J support to my export/import database plugin.

At the moment, I'm not 100% happy because I just translated my relational datamodel to a graph one so I obviously need to qualify relationships rather than using properties. Also, I need to optimise my requests to increase performance. But at least it works  ;D

- Would you have any advice ?
- Would you share your graph structure (what do you store as properties, what did you convert into Neo4J relationships, ... ) ?
- Did you find that a graph database is as useful as you expected ?
- Did you really get added value using such a database ?

Thanks and regards
Hervé
« Last Edit: September 06, 2016, 20:52:45 PM by Hervé »

mwherman2000

  • Newbie
  • *
  • Posts: 2
Re: Sharing Archi models in a Graph database
« Reply #7 on: October 20, 2016, 10:31:24 AM »
Check out this new blog article from yesterday...

Crossing the EA Chasm: Marrying Open EA Data with Graph Databases
https://hyperonomy.com/2016/10/19/crossing-the-ea-chasm-marrying-open-ea-data-with-graph-databases/

Best regards,
Michael Herman (Toronto)
Parallelspace Corporation

Hervé

  • Senior Member
  • ****
  • Posts: 199
Re: Sharing Archi models in a Graph database
« Reply #8 on: October 20, 2016, 10:36:31 AM »
Hi Michael,

thanks a lot. I will definitively read it.

Best regards
Hervé

islamsayed

  • Newbie
  • *
  • Posts: 3
Re: Sharing Archi models in a Graph database
« Reply #9 on: February 08, 2017, 11:28:04 AM »
Hi All,
great effort and that's just simply my first post! thanks for contribution for this great tool
just wanted to say that I think models in archi is a great fit for export to graphdb for analysis, as it is the a way perfect fit for a cmdb

cheers

brain_work

  • Active Member
  • ***
  • Posts: 59
Re: Sharing Archi models in a Graph database
« Reply #10 on: February 22, 2017, 06:23:11 AM »
IMHO Gephi is an easier solution than graph databases. Currently I use the same dataset to create a GEFX file for Gephi and .csv files to import into Archi (>75000 elements & relations in total).
There is a Gephi Toolkit which can be used in other Java apps so perhaps in a future release of Archi it can be used to replace the current Visualiser in which I miss the option to create advanced filters myself.

See: https://gephi.org/ and https://github.com/gephi/gephi/wiki/How-to-use-filters

Regards,
Peter


Hervé

  • Senior Member
  • ****
  • Posts: 199
Re: Sharing Archi models in a Graph database
« Reply #11 on: February 22, 2017, 17:47:14 PM »
Hi Peter,

That looks nice ... I'll have a closer look to check if I can use it with my cmdb data ...

Thanks a lot
Hervé

brain_work

  • Active Member
  • ***
  • Posts: 59
Re: Sharing Archi models in a Graph database
« Reply #12 on: February 23, 2017, 09:39:40 AM »
Hi Hervé,

I've some issues with Gephi crashes on my work laptop, I'm not sure if that has to do or with Gephi itself in combination. If I look on the internet Gephi itself should be stable.  But I don't have another laptop/computer powerful enough to work with Gephi so I'm curious how it works for you...

Regards,
Peter

Hervé

  • Senior Member
  • ****
  • Posts: 199
Re: Sharing Archi models in a Graph database
« Reply #13 on: February 23, 2017, 10:15:33 AM »
Hi Peter,

I installed it on my laptop and so far, so good (I mean I did not experienced any crash ... yet  ;D). But I just had time to play around with the demo files ...

Best regards
Hervé

brain_work

  • Active Member
  • ***
  • Posts: 59
Re: Sharing Archi models in a Graph database
« Reply #14 on: February 23, 2017, 12:24:11 PM »
Hi Hervé,

I experience crashes with the demo files as well. It happens when I'm in the Data Laboroty or Preview and want to go back to the Overview (Gephi closes when I click on the Overview tab)

Regards,
Peter