How to create new relation?

Post Reply
SNutulap
Posts: 15
Joined: 22 Aug 2017, 17:10

I am trying to create a new relation between app capability and its parent parent . (Similar to business capability). When I create new class similar to "BUSCAP_TO_PARENTBUSCAP_RELATION" it is always derived from ":THING". How do I add direct subclass as "Application_Relation"?
JohnM
Posts: 467
Joined: 17 Feb 2009, 20:19

Hi,

Can you provide an example please? Does the 'Contained in Application Capability' or 'Contained Application Capabilities' not provide what you need?

Thanks

John
SNutulap
Posts: 15
Joined: 22 Aug 2017, 17:10

I am trying to create application capability report very similar to business capabilities report (View: Business Objective/Change Footprint)
if I look at core_bl_bus_cap_2_change_footprint.xsl, it is using "BUSCAP_TO_PARENTBUSCAP_RELATION". I am trying to create similar one for application capabilities "APPCAP_TO_PARENTAPPCAP_RELATION".

After digging more, I figured that, I can override it in .pont file. I changed "is-a USER" to "is-a Application_Relationship". This helped me to complete my job.

My next step is to show capability hierarchy. For some reason, I am able to produce to max 2 level depth. Do you have a way to show multi level capability hierarchy report?

Thanks
User avatar
neil.walsh
Posts: 444
Joined: 16 Feb 2009, 13:45
Contact:

Hi,

You should try to avoid editing the PONT file directly as this could have unintended consequences for the integrity of the meta-model. If you need to change the meta-model for any reason we recommend that you extend the meta-model via the Protege UI (enable the classes and slots tabs via Project > Configure) and try to not change the existing meta-model. That is to say you should create new classes and slots rather than change existing ones.

More generally though, if you find the meta-model lacking in any way then you should consider letting us know where that deficit exists and we'll consider whether the requirement should form part of the core meta-model and we can build that in such a way to make it consistent with the existing model.

With regards to your view requirement, slots already exist to show the parent/child relation
  • contained_app_capabilities
    contained_in_application_capability
However, these are direct relations and (rather than a relationship class) and do not allow additional meta-data on the relationship itself.

Are you just looking to achieve a multiple hierarchy on the existing Application Capability model or are you also trying to achieve the project footprint mapping of the other view? If it's the former then it's just some XSL view development. If it's the latter then you'll need to extend the meta-model too and carefully follow the patterns of the business layer to keep some consistency. You'll do this via the Classes and Slots tabs in Protege.

With regards to the multiple levels of hierarchy, this is straightforward to achieve from a XSL query perspective using either a xsl:for-each or an xsl:template approach. A pattern something like...

For Each PARENT
Show CHILD
For Each CHILD
Show CHILD
For each CHILD
Show CHILD

.... is easy to write if you number of levels you want to show is fixed (e.g. 3 levels). You'll also need to design the HTML / CSS UI to show this in a scalable and attractive way.

If you can expand upon your requirements here then we'll try to guide you in the right direction. Alternatively, EAS offer view development services which can build these kind of views in a very cost effective manner (see services on the main Essential Project website) and is useful if you need the view quickly and want consistency with existing views.

Cheers

Neil
The Essential Project Team
SNutulap
Posts: 15
Joined: 22 Aug 2017, 17:10

Thank you for the reply. Key challenge I have with classes & instances tab is, I am unable to override base class to something else. Based on Business capabilities, I thought it is required (as it is doing that). I will try without over riding.

Thank you.
Post Reply