{"id":9093,"date":"2026-08-25T00:50:08","date_gmt":"2026-08-25T00:50:08","guid":{"rendered":"https:\/\/metaphaze.com\/gazettebuilder\/?page_id=9093"},"modified":"2026-08-25T00:51:14","modified_gmt":"2026-08-25T00:51:14","slug":"documentation-relationship-definitions","status":"publish","type":"page","link":"https:\/\/metaphaze.com\/gazettebuilder\/documentation-relationship-definitions\/","title":{"rendered":"Documentation: Relationship Definitions"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Relationship Definitions control the vocabulary GazetteBuilder uses for semantic relationships between Entries.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GazetteBuilder \u2192 Relationship Definitions<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"444\" src=\"https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationships-1024x444.png\" alt=\"\" class=\"wp-image-9094\" srcset=\"https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationships-1024x444.png 1024w, https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationships-300x130.png 300w, https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationships-768x333.png 768w, https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationships.png 1473w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A Relationship Definition determines the relationship name, the types of Entries that may use it, the types of Entries it may point to, and the label used when GazetteBuilder presents the relationship in reverse on the target Entry.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Add a Relationship Definition<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fields at the top of the page create a new Relationship Definition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The visible fields are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ID<\/strong><\/li>\n\n\n\n<li><strong>Name<\/strong><\/li>\n\n\n\n<li><strong>Inverse Label<\/strong><\/li>\n\n\n\n<li><strong>Source Types<\/strong><\/li>\n\n\n\n<li><strong>Target Types<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">After completing the fields, select <strong>Add<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ID<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>ID<\/strong> is the internal identifier for the Relationship Definition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">located_in<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The ID is separate from the human-readable relationship name.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Name<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Name<\/strong> is the canonical relationship text used when entering the relationship on an Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">An Entry using that Relationship Definition would therefore contain:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in: Syrtis Major<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Name is the controlled vocabulary for the relationship. Use the defined Name when entering relationships rather than substituting alternate wording.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Inverse Label<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Inverse Label<\/strong> controls how GazetteBuilder labels the generated reverse listing on the Target Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Name: Located inInverse Label: Locations<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If several Location Entries contain:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in: Syrtis Major<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">GazetteBuilder can use the inverse label <strong>Locations<\/strong> when presenting those Entries on the Syrtis Major Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another definition shown in the page is:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Name: In District<br>Inverse Label: Locations in this District<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">That allows a district Entry to present an appropriately named reverse section rather than a generic relationship label.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Source Types<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Source Types<\/strong> identifies which Entry Types are permitted to use the relationship.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example, the displayed <code>located_in<\/code> definition uses:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Location<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">as its Source Type.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That means the relationship is intended to originate from Location Entries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Target Types<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Target Types<\/strong> identifies which Entry Types may be used as the relationship target.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the displayed <code>located_in<\/code> definition, the Target Type is also:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Location<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This makes a declaration such as:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in: Syrtis Major<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">valid when both the source and target are Location Entries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Existing Relationship Definitions<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The table lists the currently configured Relationship Definitions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The visible columns are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ID<\/strong><\/li>\n\n\n\n<li><strong>Name<\/strong><\/li>\n\n\n\n<li><strong>Inverse Label<\/strong><\/li>\n\n\n\n<li><strong>Source Types<\/strong><\/li>\n\n\n\n<li><strong>Target Types<\/strong><\/li>\n\n\n\n<li><strong>Definition and Actions<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The screenshot shows examples including:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">father<br>in_district<br>located_in<br>on_street<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">with corresponding names and inverse labels.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">ID: in_district<br>Name: In District<br>Inverse Label: Locations in this District<br>Source Type: Location<br>Target Type: Location<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">and:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">ID: on_street<br>Name: On Street<br>Inverse Label: Locations<br>Source Type: Location<br>Target Type: Location<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Edit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Select <strong>Edit<\/strong> to change an existing Relationship Definition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Changes to the definition affect how GazetteBuilder interprets and presents relationships using that definition, so care should be taken when editing definitions already in use.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"645\" src=\"https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationshipsEdit-1024x645.png\" alt=\"\" class=\"wp-image-9095\" srcset=\"https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationshipsEdit-1024x645.png 1024w, https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationshipsEdit-300x189.png 300w, https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationshipsEdit-767x483.png 767w, https:\/\/metaphaze.com\/gazettebuilder\/wp-content\/uploads\/2026\/08\/GazetteBuilderRelationshipsEdit.png 1209w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Delete<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Select <strong>Delete<\/strong> to remove a Relationship Definition.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because relationship declarations in Entries depend on these definitions, a definition should not be removed while it is still intentionally being used without first reviewing the affected Entries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Relationship Definitions and Entry Editing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Relationship Definitions directly control what should be entered in the <strong>Relationships<\/strong> field of an Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the definition is:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Name: Located in<br>Source Type: Location<br>Target Type: Location<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">then a Location Entry can contain:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in: Syrtis Major<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The text before the colon comes from the Relationship Definition\u2019s <strong>Name<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The text after the colon identifies the Target Entry.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The format is:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Relationship Name: Target Entry<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">one relationship per line.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in: Syrtis Major<br>In District: Residency<br>On Street: Bedford Road<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The available relationship names are therefore not free-form prose. They come from the Relationship Definitions configured on this page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Definitions Matter<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Relationship Definitions give GazetteBuilder enough information to understand more than a simple link.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They establish:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>what the relationship is called;<\/li>\n\n\n\n<li>what kind of Entry may originate it;<\/li>\n\n\n\n<li>what kind of Entry may receive it;<\/li>\n\n\n\n<li>how the reverse side should be labeled.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That allows a single declaration such as:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-light-green-cyan-background-color has-background\">Located in: Syrtis Major<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to support both the forward relationship on the source Entry and a generated reverse listing on the target Entry.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Relationship Definitions control the vocabulary GazetteBuilder uses for semantic relationships between Entries. Open: GazetteBuilder \u2192 Relationship Definitions A Relationship Definition determines the relationship name, the types of Entries that may use it, the types of Entries it may point to, and the label used when GazetteBuilder presents the relationship in reverse on the target Entry. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9093","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/comments?post=9093"}],"version-history":[{"count":2,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9093\/revisions"}],"predecessor-version":[{"id":9097,"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/pages\/9093\/revisions\/9097"}],"wp:attachment":[{"href":"https:\/\/metaphaze.com\/gazettebuilder\/wp-json\/wp\/v2\/media?parent=9093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}