Mapping - circles-arrows/compare41 GitHub Wiki
The Mapping tab defines how entities and their properties are mapped between the two databases you want to compare.
The Default Keys panel is for setting up default key fields of the node types and relationship types.
In the given model, every node type has a uuid
field, serving as the identifier. Instead of specifying keys for each node type individually, you can establish a default key field in the Default Keys panel.
Important
Keys are case-sensitive.
Expand the dropdown. Choose either the Node- or Relationship-entities type you want to define a default key field for.
In the text field, enter the default key name.
You can also combine two or more properties as a key (=composite key), for example: name+born
. To define such a composite key, separate the properties by either the plus (+
) sign, comma (,
), colon (:
), or semicolon (;
).
Keys in the default-key list are assigned to Entities from top to bottom.
An example given below shows that in the Movie
entity, the title
property is being used as a key and the released
property is not. This is because even though the released
property is defined in a composite key within the list, there is an entry of the title
property that exists higher to it.
Note
By including surrogate keys, like a uuID
across your entities (nodes & relationships) in your database and setting those as default-keys in Compare41, you can avoid the need to set keys per entity manually. When setting default keys, you can prioritize them (rank from top to bottom in the list).
âšī¸ To learn more about how to set up keys, see Keys.
The Exclude Label panel is for ignoring labels for mapping and comparison. When a label is excluded is it not used to differentiate one entity (type) from another.
Important
Labels are case-sensitive.
In the text field, enter the label name you wish to exclude. You can use a wildcard (*) to exclude multiple labels at once. See using wildcards.
Default labels such as _Bloom_Perspective_
, FunctionalId
and RefactorVersion
are set initially for Neo4j and Blueprint41 and can be removed from the list if not needed.
Note
To learn more about excluding labels, see Labels.
Entity panel is for mapping out node- and relationship-types between the two databases. The panel shows which entities are Mapped
, Partially mapped
or Unmapped
.
Expand the dropdown to select which entity types (Nodes or Relationships) to display.
Sort and filter results with the Sort/Filter dropdown.
Filter entities by status or filter by name using the Search text field.
An icon of a key might show up next to the status of an entity. This is common when first-time setting up the mapping of entities.
This means that a unique identifier for that entity is missing. This can be fixed by adding keys for those entities manually.
Note
To learn about adding keys, see Keys.
If keys are set properly for all entities that are in scope of your compare, there should no longer be missing key icons visible.
Mapped Entities are the entities that have identical labels and properties detected in both databases.
Unmap an entity by right clicking and selecting Unmap.
Unmapping a Mapped entity will result in two Unmapped entities in the left- and right-side of the entity-panel.
You can also unmap each property of an entity individually and it will result in the entity being Partially Mapped.
Unmapped Entities are entities that have no label- and/or property- matches and only exist on the left or right-side of the entity panel.
To show only the unmapped entities, in the entity panel, click the Sort/Filter dropdown and uncheck both the Mapped and Partially Mapped items.
To map an unmapped item, simply right-click on the item and choose the Map option from the menu.
In the mapping dialog, choose the entities you wish to map from the dropdown menu, and then click the Map button.
The entity will now be marked as either Mapped or Partially Mapped. You can also press Enter after selecting two Unmapped entities to automatically map them without showing the dialog.
An item is Partially Mapped if one or more of its properties is unmapped.
To view only the Partially Mapped items, in the entity panel, click the Sort/Filter dropdown and uncheck the Mapped and Unmapped items.
A place holder will display on the other side of the property if it is unmapped to another.
To map a Partially Mapped entity, first click on it in the entity panel. Then in the property-panel, simply right-click on an unmapped property and choose the Map option from the menu.
In the mapping dialog, choose the properties you wish to map from the dropdown menu, and then click the Map button.
If the properties share the same type and name, they will be Mapped. Otherwise, they will be Partially Mapped as shown in the example below.
Also, the entity selected in the Entity panel will now be Mapped if none of its properties remain unmapped.
The Compare button starts the compare process and will open the compare tab to show the comparison results.
The Properties panel shows the properties of the selected entity (node-type or relationship-type) in the entity panel.
You can also set keys on the property panel by right clicking on the property and clicking on Set as Key.
Filter the results using the filter dropdown.
Find a specific entity by entering its name in the Search field.
Click the âī¸ icon if you wish to change the default Property Mode.
Note
To learn more about property mode, see Dynamic/Static Properties.