Is there any initiative to develop a plugin for a Graph database as a repository for sharing models ?
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.
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.
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
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 :)
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:
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
Check out this new blog article from yesterday...
Crossing the EA Chasm: Marrying Open EA Data with Graph Databases
Michael Herman (Toronto)
thanks a lot. I will definitively read it.
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
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
That looks nice ... I'll have a closer look to check if I can use it with my cmdb data ...
Thanks a lot
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...
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 ...
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)
So far, no crash on my side ...
Thanks, now I know for sure that the crashes are caused by something on my laptop.