Hi,
I often use dash:ValueTableViewer to provide a richer experience for the user by bringing relevant details of the the objects to a single page vs the user having to click into each instance as would be required using the default list-like display.
However, when using a shape like this example:
pgont:Amalgamationable-composedOf_Table_view
 a sh:PropertyShape ;
 sh:path pgont:composedOf ;
 dash:composite true ;
 dash:viewer dash:ValueTableViewer ;
 sh:deactivated false ;
 sh:description "Things this instance is composed of or owns."@en ;
 sh:group pgont:StructurePropertyGroup ;
 sh:name "composed Of"@en ;
 sh:node pgont:ComposedOfTableView ;
 sh:nodeKind sh:IRI ;
 sh:order "10"^^xsd:decimal ;
.
It becomes impossible for the user to add a new triple using the composedOf property. The ComposedOfTableView node shape does a great job of displaying the components of the parent instance and specified details. However, the user cannot add a new object as the child of the parent. Â
While making a dash:ValueTableEditor would be extremely useful, I appreciate the complexity such an endeavor would entail given the range of possible node shapes. However, in my case, I only need the user to add a single instance using the composedOf property, not fill-out a row in the ValueTableViewer.
Is there away to enable this interaction?
If I didn't want to use dash:ValueTableEditor, I would use a simple shape like:
pgont:Amalgamationable-composedOf
 a sh:PropertyShape ;
 sh:path pgont:composedOf ;
 sh:class pgont:Amalgamationable ;
 sh:deactivated true ;
 sh:description "Things that this object is composed of.  e.g. Logical Systems, Attributes, Constraints, Physical Systems, etc..." ;
 sh:name "composed Of" ;
.
However, the two shapes cannot co-exist on the same class or EDG will get confused (you'll note that this one is deactivated).
At the moment, I cannot find a way to show my users the details they need while at the same time, enabling them to add more instances to the parent using the pgont:composedOf property. (Well, short of creating another node shape for the same class and having the user flip between the the views)
Thank you for your thoughts,
Tim