Using RDF/OWL to analyse ArchiMate models

781 views
Skip to first unread message

Phil Beauvoir

unread,
Oct 11, 2016, 9:29:39 AM10/11/16
to ArchiMate
This is not really a question requiring a definite answer, more of a discussion topic...

Is anyone interested in, or perhaps has already done some work on, analysing ArchiMate models in RDF/OWL format?

Some time ago, I did some work for the ArchiMate Exchange Format using the OWL/RDF format - https://github.com/archimatetool/OWLExchange - it turned out that this was not really suitable for representing graphical information, so we went on to use XML/XSD. However, I think this is still an area of interest for some people.

Anyone interested in this?

Phil

Bart Du Bois

unread,
Oct 11, 2016, 12:01:37 PM10/11/16
to ArchiMate
I'd recommend to focus on the use cases first and put the tooling/means second. 
I.e, which stakeholder need are you addressing?

But since tools are fun :)
  • beyond visualization the means could also include dependency analysis, pattern detection, metrics, statistics computation etc.
  • to get results fast you can chain up tools. I haven't done it on ArchiMate models or RDF/OWL, but I've done it for static source code analysis.
Kind regards,
Bart.

Phil Beauvoir

unread,
Oct 11, 2016, 12:04:36 PM10/11/16
to ArchiMate
Hi Bart - I agree on the use cases...and this is what I am aiming for. Tooling is easy... ;-)

Also we need to define an ArchiMate ontology.

I am in email conversation with someone about use cases....I'll see if they will post here...

Phil

Eric Stephens

unread,
Oct 12, 2016, 5:08:19 PM10/12/16
to ArchiMate
I've played with creating ontologies based on TOGAF, the Business Model Canvas, Business Architecture Guild, and the Enterprise Risk Management frameworks. Would be interested in investigating this idea further with Archimate as I haven't tried to model that yet as an ontology.

Phil Beauvoir

unread,
Oct 13, 2016, 5:46:25 AM10/13/16
to open-archi...@googlegroups.com
Hi Eric,

it would be interesting to come up with an ArchiMate ontology in Protege, for example. The Active/Passive/Structual/Bahavioural/External/Internal aspect could be part of it.

(Disclaimer - I am not an expert on these matters ;-))

Phil

Eric Stephens

unread,
Oct 13, 2016, 8:47:12 AM10/13/16
to ArchiMate
I am not even close to an expert but will take a pass at an owl representation of archimate 3.0. I might be able to convert the XSD using a script to get started.

Eric Stephens

unread,
Oct 14, 2016, 7:45:16 PM10/14/16
to ArchiMate
I took a crack at creating an ontology. I left off on pulling in the Application-related relationships. I’m inferring them from the 3.0 spec rather than trying to interpret the (painful) grid at the end of the spec. What I didn’t check was the source code for some kind of ruleset to drive the permitted relationships.

Open to any and all thoughts. Again, not an expert at ontologies. More of a fanboy :)

Cheers
archmate-3.0.owl

Phil Beauvoir

unread,
Oct 16, 2016, 4:33:26 AM10/16/16
to ArchiMate
Thanks for sharing that, Eric.

I've taken a quick look at it in Protege, and that's the kind of class hierarchy I would have done, too, but what about adding: the Business, Application & Technology layers? Or did I miss them?

Looking at your OWL file makes me realise I need to do more homework on this stuff.... ;-)

Phil

Eric Stephens

unread,
Oct 16, 2016, 8:46:44 AM10/16/16
to ArchiMate
I guess I didn't include a layer object because I missed it in the spec. Will take another look.

Any tips on nailing down the relationships? Or is it just tedious? :)

Phil Beauvoir

unread,
Oct 16, 2016, 9:16:56 AM10/16/16
to ArchiMate
They could be added as Classes, I guess but then how to connect them to the Elements? The way you've done it so far is more in the OWL way.


On Sunday, 16 October 2016 13:46:44 UTC+1, Eric Stephens wrote.

Eric Stephens

unread,
Oct 16, 2016, 10:12:49 AM10/16/16
to ArchiMate
I think using ObjectProperty is the way to go with an ontology. My remark was more about understanding not just which ObjectProperty elements to define but the linkage between them and the Classes. 

However, I see you've done the work already. In relationships.xml you define the permitted relationships. I can write a script to create the necessary relationships in the ontology. 

As for the Business, Application, Technology layers: I think I can rely on multiple inheritance to "assign" each element to a layer. The hierarchy looks like below. Please let me know your thoughts

- Thing
-- Concept
--- Layer
---- BusinessLayer
---- ApplicationLayer
---- TechnologyLayer
--- Element
---- ApplicationCollaboration
---- etc.
 

Phil Beauvoir

unread,
Oct 16, 2016, 11:09:42 AM10/16/16
to ArchiMate
Yes, I agree on ObjectProperty. Multiple Inheritance in the Class hierarchy is necessary, as you say.

Is "Layer" necessary? Is it doing anything semantically?

Michael Herman

unread,
Oct 17, 2016, 4:18:43 PM10/17/16
to ArchiMate
Why/how is an OWL representation more useful/valuable than the more general representation enabled by the Exchange File Format?

In effect, I'm re-asking the "what are the use case you want to target" question. 

I'm made extensive progress by directly targeting the EFF schema when I built ModelMate (https://hyperonomy.com/2016/10/13/archimate-diagrams-your-grandmother-and-cio-will-love/). I'm now able to target many additional, entirely new scenarios beyond ArchiMate.

Best regards,
Michael Herman (Toronto)
Parallelspace Corporation

Phil Beauvoir

unread,
Oct 17, 2016, 5:13:52 PM10/17/16
to ArchiMate
Good question. I guess it's to do with how you can express relationships between concepts and their semantic meani....right, I'll stop right there. :-) We need a Semantic/RDF guru to tell us the use cases....

Michael Herman

unread,
Oct 17, 2016, 5:24:00 PM10/17/16
to ArchiMate
Re: We need a Semantic/RDF guru to tell us the use cases....

Then you might end up with an "OWL for the sake of OWL" type of discussion (which may be interesting and "anything goes" in this forum :-)).

I'm, at least initially, primarily interested in making EA data more open and usable with existing open source and COTS data analysis, machine learning, and visualization platforms.  This is an example of a fairly broad use case.  The impact of this is that for ModelMate I chose to stay with very common data modeling and storage technologies (EFF/XSD, relational table-based schema, SQL Server, etc.) because are easily consumed by the broadest market of data analysis, machine learning, and visualization platforms.

This discussion doesn't have to pursue a concrete set of use cases (or consider the ones I've chosen) but I think having a more concrete sense of what sits between the goal posts is a good idea.

Cheers,
Michael

jean-baptis...@arismore.fr

unread,
Oct 18, 2016, 5:13:47 AM10/18/16
to ArchiMate
Hi,

My 2 cts on this...

I think that what RDF/OWL can offer is the currently existing toolset able to work on meaning, but IMHO simple XML is a better exchange format because it makes absolutly no assumptions on the usage, which means that if one want to convert it in a way that makes it usable in a Graph DB or any other paradigm, then he can.

In this context I find the XML/XSLT really powerful it really focus on content while allowing you to define usage (and convert data easily).

Regards,

JB

Phil Beauvoir

unread,
Oct 18, 2016, 5:16:52 AM10/18/16
to ArchiMate
For the exchange format I absolutely agree on XML being better. RDF/OWL is not going to work for diagrammatic information. But I know that the Semantic people love putting data into triple stores and working with that. I guess it's a bit like converting to Graph DB for a new way of working with the data.

Phil


Michael Herman

unread,
Oct 18, 2016, 8:21:07 AM10/18/16
to ArchiMate
EFF/ArchiMate is a bunch of things but the most important is that it is an information model/general taxonomy/metamodel/ontology ( https://en.wikipedia.org/wiki/Ontology_(information_science ) for representing EA graphs.

In this context, look at XML simply as a serialization format for the underlying EFF information model - same for JSON serializations (e.g. ModelMate's OData support for either XML or JSON) and for tuple-serializations.

Usage/application/analysis of the underlying data is independent of the information model and these serialization formats.

What unique/different/interesting things do people want to do with the underlying EA data?

Best regards,
Michael

Andrew Matthews

unread,
Oct 19, 2016, 11:26:44 PM10/19/16
to ArchiMate
Arriving late to the discussion, but had to respond.

Being able to RDFize an enterprise architecture, as well as use RDF as a more open interoperability exchange format is a very worthwhile use case.

For instance, I have long been interested in the potential to use inference engines and Rules languages to walk the graph of a design to report on impacts etc.  Very useful for strategic analysis.  Such models are also useful when mashed up with git repo logs (for example) to build RDF based skills profiles of a team. or to build the human resource profile for a project.  Or to automate the provisioning of system monitoring infrastructure.

The possibilities are endless!

Regards

Andrew

Phil Beauvoir

unread,
Oct 20, 2016, 4:55:59 AM10/20/16
to ArchiMate
Whilst RDF/OWL may be interesting as a format for ArchiMate concepts and their relationships, it is not the best format, in my opinion, for a general interoperability exchange format. The two main reasons - it's not easy to implement for tools vendors, and it's not really suitable for the graphical information. XML/XSD is better for this.

Michael Herman

unread,
Oct 20, 2016, 5:36:58 AM10/20/16
to ArchiMate
RDF is just another way of projecting/serializing the underlying ArchiMate information model.  So it is not intrinsically "better" unless you have an interesting toolset that, for example, only consumes RDF formatted data.

Inge Wertwijn

unread,
Aug 11, 2017, 4:55:26 PM8/11/17
to ArchiMate
Hi guys, did any of you complete the work on the Archimate 3.0 model? Set it up as an ontology? I am trying myself, but keep running into conceptual problems.

Mastering ArchiMate

unread,
Aug 12, 2017, 4:16:46 AM8/12/17
to Inge Wertwijn, ArchiMate
I am not surprised :-)

> On 11 Aug 2017, at 22:55, Inge Wertwijn <ingewe...@gmail.com> wrote:
>
> Hi guys, did any of you complete the work on the Archimate 3.0 model? Set it up as an ontology? I am trying myself, but keep running into conceptual problems.
>
> --
> You received this message because you are subscribed to the Google Groups "ArchiMate" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to open-archimate-f...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/open-archimate-forum/e8be2e1a-14c7-4570-b1ff-f763b9520b6d%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Phil Beauvoir

unread,
Aug 12, 2017, 5:18:36 AM8/12/17
to ArchiMate
Hi,

Nicolas Figay made a blog post that may be of interest:

https://www.linkedin.com/pulse/from-archimate-language-web-ontology-dr-nicolas-figay

Note where he says:

"an ArchiMate modeling construct will be formalized as an OWL class and an ArchiMate relation will be formalized as an OWL Object Property."

That's the easy part.

And of course you coudl also add the categories of Business, Application, Technology, Behavioural, Structural, Passive, Active, etc to the ontology.

As Nicolas says:

"Some can consider that formalizing ArchiMate in OWL will take only few minutes"

 But this is where the fun starts as Nicolas explains in his post.

But I've not been able to find agreement on representing concept Properties (attributes) and certainly no way to represent the diagrammatic ArchiMate Views. I always thought that the value of ArchiMate was in its views ;-)

My own take on this is:

"I can develop an Archi plugin to import/export ArchiMate models to OWL files in a few days..."

with the caveat:

"...if an OWL definition and ontology is agreed and finalised"

Phil

Michael Herman (Parallelspace)

unread,
Aug 13, 2017, 2:43:39 PM8/13/17
to Phil Beauvoir, ArchiMate

I see views as a “tool thing” …i.e. valuable but not uniquely valuable as far as the ArchiMate language goes.

 

I think ArchiMate relationships (and their semantics and rules) is a key, uniquely valuable concept of the ArchiMate language.

 

(Now) 2 cents USD, ;-)

Michael Herman (now living in Seattle)

--
You received this message because you are subscribed to a topic in the Google Groups "ArchiMate" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/open-archimate-forum/poUR2BRqve0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to open-archimate-f...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/open-archimate-forum/5a9d7668-3f17-444c-bbba-f94614482355%40googlegroups.com.

Inge Wertwijn

unread,
Aug 13, 2017, 3:23:05 PM8/13/17
to ArchiMate
Thank you Phil, that is helpful information. At least it maps out the wood I was getting lost in :-)

Ivo Velitchkov

unread,
May 5, 2018, 6:00:30 AM5/5/18
to ArchiMate
A colleague of mine did some work on analysing ArchiMate models with OWL and I was quite impressed by his discoveries. I can link you up, if interested.

For EA modelling I've been using ARIS between 2001 and 2007 and Archimate till 2011. Since then I started mainly RDF and OWL, as the expressivity, the inferencing, and interoperability of these languages met some of my needs, which other languages couldn't. But indeed Archimate is used a lot, so I was interested in using Arhimate stores just as data sources to combine with data, mined from the systems-in-use. Such a popular case is creating a knowledge graph (linked vocabularies) from the actual stores (e.g. using R2RML for SQL, and other means for NoSQL and document DBs). This enterprise data model can be easily merged with the graphs coming from Archimate sources (e.g. representing target models), for analysis, consistency checks, reality checks, data service to new solution architectures, meta-data management and many other use cases. 

The trade-off is indeed using diagraming as user input. Not many tools allow that and it's normally way too complicated: for example, types are distinguished with different symbols in Archimate, while a visualisation of an RDF graph would need additional triples to show that.

Yet, it would have been nice if Archimate tools could export in RDF or JSON-LD and if there was a good Archimate ontology (probably now they are; years ago I saw a few but they were made with OO mindset, and anyway creating a good ontology is not an easy job).

Now the enterprise use of Linked Data is growing and it's additionally boosted by the release of SHACL last year. There used to be 18 triple stores and now we have one more - Neptune from Amazon. Regarding data exploration, I personally love SPARQL, but those who don't, now can use also GraphQL. 

I've heard some say the EA job and Enterprise Information management are different roles, but I don't get this and I've seen plenty of useless EA artefacts for not being integrated part of the model-in-use. Unlike code, the conventional EA diagrams cannot be executed to know if they actually work. 

Phil Beauvoir

unread,
May 5, 2018, 7:31:55 AM5/5/18
to ArchiMate
Thanks for sharing this, Ivo. It sounds very interesting.

The only comment I have at this stage is:


> Yet, it would have been nice if Archimate tools could export in RDF or JSON-LD and if there was a good Archimate ontology (probably now they are; years ago I saw a few but they were made with OO mindset, and anyway creating a good ontology is not an easy job).

From my experience, developing an Archi plug-in to export an ArchiMate model in RDF or JSON-LD format (or indeed any format) is not too hard, although time-consuming. The issue that has not been solved so far, at least to my knowledge, is defining the output format or ontology for the export.

However, with the upcoming jArchi plug-in, which allows a user to access an Archi model via JavaScript and exposes all concepts in the model via a new API, it should be possible to write one in JS.

Ivo Velitchkov

unread,
May 5, 2018, 8:23:05 AM5/5/18
to ArchiMate
Thanks. For some use cases, see also my comments to this tweet. Using RDF/OWL in EA is not a solution looking for problems. For me, it was years of looking for solutions to some problems, and using RDF/OWL/SPARQL/SHACL languages helped in more than I had hoped for. Having said that, there are still problems for which I'm looking for some more formal expression, where semantic technologies can't help. 

--
You received this message because you are subscribed to the Google Groups "ArchiMate" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-archimate-forum+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/open-archimate-forum/fbc0689e-6f8a-4319-82be-e4860c0d98b8%40googlegroups.com.

Jean-Baptiste Sarrodie

unread,
May 16, 2018, 5:33:14 AM5/16/18
to ArchiMate
Hi,

Some additional comments/inputs on my side.

Together with some colleagues, we have a vision of using ArchiMate as a kind of pivot metamodel for (mostly automatic) knowledge management.

The end goal is to mix several AI related technologies:
  • Build a knowledge graph from existing documents (NLP driven ontology modeling)
  • Fine tune this "raw" knowledge through some chat bot session in which the bot ask questions to a subject matter expert
  • Map this knowledge onto ArchiMate metamodel through Semantic Model Transformation
  • Do appropriate work, extraction, semantic reasoning... on resulting model

As you can imagine, for this to work we have to rely on existing standards like OWL, RDF... So I our quests are linked.


Regards,


JB

Reply all
Reply to author
Forward
0 new messages