Q: Instances do not appear in Instance View but do appear in Selection drop-downs

8 views
Skip to first unread message

Tim Smith

unread,
Jun 1, 2020, 12:51:40 PM6/1/20
to topbrai...@googlegroups.com
Hi,

I have created a new Technical Asset Collection, TestTech.  In this collection I have created a Software Program instance, prog1.  I have imported a data graph that contains instances of Sensor which is a subclass of Processable.

When I select Sensor from the class hierarchy, I was expecting to see all of my instances of Sensor in the Instances view but nothing appears.  I want to say that my software program, prog1, has as an input sensor1.  When I navigate to the prog1 form - input data property shape, in the Processable drop down, I am able to see and select from all of the sensors.

I don't know why I can see them in one context but not the other.  Note that I cannot create new instances of Sensor in the Tech Assets collection.  The button is grayed-out.  Is this a GraphQL artifact? 

Thanks for your help,

Tim

Irene Polikoff

unread,
Jun 1, 2020, 2:14:51 PM6/1/20
to topbrai...@googlegroups.com
Hi Tim,

Ralph should be able to explain this on a call with you better than I could in an e-mail.

At a high level:

  • Your new class need to be public or be a subclass (transitively) of some class that is declared “public” in order to select it, create new instances, etc. 
  • EDG models already declare some classes as public. 
  • Broadly speaking, there are 2 types of classes: Aspect classes and Asset classes. You will want your new class to be a subclass of some Asset class. Or, if it is an entirely new category of assets, create a new class directly under Asset.
  • There is also a subclass of Aspect for Viewpoint classes. Look at edg:Aspect, edg:Asset and edg:Viewpoint. 
  • Viewpoint classes are used for the Asset Navigator in EDG to limit access to relevant resources. For example, for Technical Asset collection.
  • Typically, there is a Viewpoint class for each asset collection type e.g., a viewpoint class for TechnicalAsset collection is edg:TechnicalViewpoint. Viewpoint classes are declared as public. So, if your new class is a subclass (transitively) of one of the Viewpoint classes, then you are OK. There is a number of ways to see this. For example, on a home page you can see which classes are public or by selecting graphql:publicClass and looking for references.
  • If the only subclass relationship you have for Sensor is to an Aspect class that is not a Viewpoint (e.g., Processable), then your new class will not automatically be public since none Viewpoint Aspect classes are not defined as public.
  • For more information about public classes see https://doc.topquadrant.com/6.3/ontologies/#SHACL_requirements_for_working_with_Reference_Datasets_and_Data_Graphs and https://www.topquadrant.com/graphql/shacl-graphql.html

Regards,

Irene

-- 
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAF0WbnJ_f_B3YK5YL2c2CHs2erDX-NkddS_yQBnQeegnzjUPAA%40mail.gmail.com.

Tim Smith

unread,
Jun 1, 2020, 3:29:21 PM6/1/20
to topbrai...@googlegroups.com
Ahh!  Viewpoint!  That's the missing link.  I thought there would be a natural extension point that would make it easy to declare things public.  I had done it for a few classes but hadn't found Viewpoints.

Thanks,

Tim




Reply all
Reply to author
Forward
0 new messages