Work with Sub-Metadata

What is Sub-Metadata?

In Semarchy xDI, Sub-Metadata is a special kind of Metadata object that can only be created from other Metadata nodes. It acts just like its parent Metadata node, but appears as separate Metadata in the Designer Project Explorer, and can be reverse engineered independently.

Sub-Metadata inherits almost its properties from the Metadata node you create it from, and from the parents of that node. These properties remain locked at the Sub-Metadata level.

Not all datastore types support Sub-Metadata. For a list of supported technologies, see this section.

Use case

Sub-Metadata is useful for project organization. You can use it to propagate parameters, and avoid duplicating information unnecessarily.

For example, imagine you have a PostgreSQL database with a complex schema that holds many different tables. You want to add your database to Designer as a datastore to use its tables in data flows, but there are so many tables that they overflow in the Project Explorer. You could create multiple PostgreSQL Metadata with the same configuration information to organize the tables, but any change in the PostgreSQL environment would mean updating each Metadata with the new connection information.

In this scenario, you can save time by creating Sub-Metadata from a PostgreSQL schema instead. The Sub-Metadata inherits the connection and schema information from your PostgreSQL Metadata. You can reverse-engineer your PostgreSQL tables in the Sub-Metadata like you would in the Parent Metadata. However, if the PostgreSQL environment changes, you only need to modify the original Metadata to propagate changes.

Create Sub-Metadata

You can create Sub-Metadata from the Project Explorer or the Metadata editor. When you right-click a node that allows it, the option Create Sub MetaData file will appear in the context menu, in one of two places:

  • For a Project Explorer menu, in the upper menu options.

    submetadata new from explorer

  • For a Metadata editor menu, in New > Create Sub MetaData file.

    submetadata new from editor

Clicking the option opens a wizard. Choose the parent folder for your new Sub-Metadata, enter a Metadata Model name, and then click Finish.

The new Sub-Metadata will have a node with a shortcut icon drawn over it.

submetadata example

Reverse Engineering

As with regular Metadata, you can reverse engineer a Sub-Metadata data point (database schema, file system, etc.) to retrieve its data structure (tables, files, etc.).

To reverse engineer a data structure in a Sub-Metadata, follow these steps:

  1. From the Project Explorer, open the Sub-Metadata editor with a double-click, or from the right-click context menu.

  2. Right-click on the node in the editor to open the context menu.

  3. Select Actions > Properties from the context menu.

  4. In the window that appears, Refresh the list of items.

  5. Select the items you want, then Apply and Close.

submetadata reverse

Update Sub-Metadata

You can update or modify the data structure (if applicable) of Sub-Metadata objects in the Metadata editor. The data model of metadata can be modified in two ways:

  • By reverse engineering: follow the steps in Reverse Engineering again.

  • Manually: double-click a node (a table or a column in the case of database Sub-Metadata) in the Metadata editor. All the editable properties for this node are shown in finger tabs that depend on the type of parent Metadata.

Supported technologies

You can create Sub-Metadata for the following technologies, on specific nodes:

Technology Supported nodes

RDBMS

schema, query folder

FTP Server

server

SSH Server

server

Couchbase

cluster, scope

HTTP REST

root, path