.. _PropertyGroupsPanel: Property Groups Panel ^^^^^^^^^^^^^^^^^^^^^ The Property Groups Panel displays properties associated with a selected class or node shape. Properties are organized into groups, reflecting how they would be shown on the :ref:`FormPanel`. If a property does not belong to any group, it will be shown under built-in *Other Properties* group. The panel lets you create new property definitions (for attributes and relationships) and new property groups. Properties are associated with classes (or node shapes) using SHACL property shapes which define constraints on the property values. It is possible to refer to the same property in multiple property shapes. Thus, this panel actually displays property shapes – associations between properties and classes/node shapes. **Toolbar Buttons** * **Create Property Group** opens a :ref:`CreateAssetDialog` to create a new property group (instance of ``sh:PropertyGroup``). * **Create Attribute** opens a :ref:`CreatePropertyDialog` to create a new property shape for a datatype property, typically with one or more ``sh:datatype`` constraints. * **Create Relationship** opens a :ref:`CreatePropertyDialog` to create a new property shape for an object property, typically with a ``sh:class`` constraint. * **Add Existing Property Group** opens a dialog where you can select an existing ``sh:PropertyGroup`` so that you can reuse it. * **Add Existing Property Definition (Shape)** opens a dialog where you can add an existing property shape to the current class or node shape. .. caution:: Property groups and property shapes are in principle global and may be shared among classes and shapes. This is generally a good practice when the intended interpretation of a group or property is identical. However, note that property groups and shapes can only have a single order value (``sh:order``) attached to them. This means that if you move them vertically to change their order, it will also change the order elsewhere, and this may not produce sensible layouts everywhere. **Settings** * **Leave property groups closed** will keep the property groups unopened when you navigate to a new class or node shape. This may be useful when you have very large numbers of properties. * **Show numeric order values** will also display the ``sh:order`` of each property group or property shape. Uses [0] to indicate that no value exists. * **Show defining shapes/classes** will display the label of the classes or shapes that reference a property shape behind the label of each property shape. This can be useful to see from where a property shape has been inherited in the class hierarchy, or to see where else this property is used. **See Also** * :ref:`ClassHierarchyPanel` * :ref:`CreatePropertyDialog` * :ref:`FormPanel` * :ref:`Modify_AddLabelPropertyDeclaration` * :ref:`NodeShapesPanel` **Further Reading on Property Groups Panel** * `Form Generation using SHACL and DASH (External Link) `_ **Further Reading on Ontologies** * :ref:`working_with_ontologies_target` **Further Reading on TopBraid** * :ref:`introduction`