Group of technology capabilities

Post Reply
trinhtuan
Posts: 14
Joined: 13 Dec 2012, 08:48

Hi all,
I have an issue while trying to group Tech. Capabilities to facilitate the management using slot "Contained Technology Capabilities" as follow:

1. Capability A (notional group capability)
1.1. Capability A.1 (belong to A)
1.2. Capability A.2 (belong to A)
...

in each sub-capabilities (A.1, A.2) there are some tech. components which realize those sub-capabilities (by marking via slot "Realised By Tech. Componenets".

When I query all components that realise the Capability A (group one), it returns nothing? I also try using Queries tab to do a backward query to find all capabilities that belong to a group capability (i.e. A) but there is no slot support that type of query.

If I use slot "Realisation of Technology Capability" in each component to specify both sub-capability and group capability then above query works.

What did I miss to enable the recursive query like above whithout the need to use slot "Realisation of Technology Capability" ? Or it is a must to use it ?

Thank you.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Thanks for your post.

I'm going to start with a question:

When you say:
When I query all components that realise the Capability A (group one), it returns nothing?
do you mean within Protege or in Essential Viewer?

Normally, this kind of query is something that we include in the Views in Essential Viewer but I'm assuming you mean in Protege as you mention Query Tab.

It's a bit clunky but you can do such a query in the Query Tab but we need to build the query out of sub queries as follows:

- Open the Instance browser for Capability A and note the sub-capabilities.
- Add a query statement (use the MORE button) to add more query statements for each of the sub-capabilities and select it to find all of the technology components that implement the capability.
- The results on the right will be the combined set of Technology Components across all the capabilities.

Ideally, to make the query easier in the Query Tab, we need an 'inverse slot' from the contained Technology Capability back to the contained capabilities slot. We use these where they are required but to reduce the complexity of the classes, we don't use them by default. In fact, when querying in the Essential Viewer, we often do not need them.

As you can see, the Query Tab helps but isn't designed to recursively query from any starting point. The Knowledge Tree Tab might also be of interest as it can quickly show the hierarchy of instances on the left-hand pane.
There are other reasoning components available in Protege that can do this sort of thing, including the Script Console tab.

However, these get a bit technical to use and these were some of the motivators that led us to develop Essential Viewer, where we focus our attentions for querying.

If our out of the box Technology Capability views are not providing this recursive analysis of the realising Technology Components, it's a relatively simple extension of these Views to provide this.

Jonathan
Essential Project Team
trinhtuan
Posts: 14
Joined: 13 Dec 2012, 08:48

Thank you Jonathan for a quick reply. Yes, I'm talking about Protege.
- Open the Instance browser for Capability A and note the sub-capabilities.
- Add a query statement (use the MORE button) to add more query statements for each of the sub-capabilities and select it to find all of the technology components that implement the capability.
- The results on the right will be the combined set of Technology Components across all the capabilities.
I cannot do as your above suggestion. Given I have group of tech. capabilities like in attached 1.jpg, can you guide me the query using Queries tab to list all components which realise "1.1. Communication Service" where there is no components are under it directly (components all belong only to sub-categories "1.1.1", "1.1.2", etc.) ?

Thank you.
You do not have the required permissions to view the files attached to this post.
trinhtuan
Posts: 14
Joined: 13 Dec 2012, 08:48

Hi Jonathan,

I can do as your suggestion now (see attachment) but it is a bit inconvenient because users will have to build a long query. Should I add an 'inverse slot' to tech. capability class to support recursive queries ?

Thank you.
You do not have the required permissions to view the files attached to this post.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

The inverse slot won't actually help do the recursive query, although it will enable you to query against the next level down.

For example, you would build a query that finds all the Technology Capabilities that have the '1.1' capability in the inverse slot (e.g. containing_technology_capability) and then save the results of that capability using the 'Add to Query Library' button at the bottom of the page.

Then you would create another query that finds all the Technology Components whose realisation_of_technology_capability slot contains the results of the last query that you just added to the query library.

This will show you all the Components that realise the sub-capabilities of the selected capability. However, what it won't do is recurse down further levels of the capability hierarchy.

As I mentioned, this is one of the reasons why we created Essential Viewer. The Query Tab is quite limited in terms of the complexity of queries that you might need or want.

It is very easy in the XSL queries of the view templates to recurse through an arbitrary hierarchy, without having to extend the meta model.

Jonathan
Essential Project Team
Post Reply