---
title: "Relations and tags"
url: https://developers.dagio.ai/relationships/
---

# Relations and tags

   
                           
                                                                 
                     
              
          
   

## Relation or classification

A relation connects identified objects: a quote belongs to a client, a result comes from work or a document supplies a source. A tag classifies an object using vocabulary. Both can be displayed together but serve different purposes.

Classification review states whether the Tag applies to the whole content or a selected passage. Adding or removing a Tag rewrites neither content nor its values. The card retains the name returned by Surface; when a preview does not include that name, it explains the absence and keeps exact references available in details.

| Element | Expected values | Example |
| --- | --- | --- |
| Relation type | Declared definition | Client quote |
| Source and target | Compatible object identities | Q-1042 → North Studio |
| Direction | Incoming or outgoing in context | Quotes visible from Client |
| Cardinality | Declared minimum and maximum | One client per quote |
| Tags | Admitted vocabulary terms | Priority, Maintenance |

## Define the policy

The Model declares relation types, compatible objects and operation effects. Checks apply when creating or changing links. Reverse views query existing links in the other direction rather than duplicate the relation.

When configuring linked fields, review the effects before confirming. If the response remains unverified, resume the same request without changing its selection. If the change is confirmed but its view cannot be refreshed, retry the read without confirming again. Technical coordinates remain available in details separate from declared names.

## Example

Q-1042 references North Studio. Both objects carry the Maintenance tag. Removing the tag does not remove the client association. Opening the client displays the quote according to permissions and its declared Query.

[Integrations](https://developers.dagio.ai/workspace-links/) configure these mappings between apps; [graphs](https://developers.dagio.ai/graphs/) help explore relations visually.

<!-- surface-examples:start -->

## Applied examples : One client, many quotes

The constraint governs links; the presentation group shows four results and access to the full list.

### Configuration

Fragment placed in `relationPolicies[]`. [Properties and accepted values](https://developers.dagio.ai/reference/surface-relation-policy/).

```json
{
  "contract": "SurfaceRelationPolicy@1",
  "key": "quote-client",
  "linkTypePath": "application/client",
  "source": {
    "definitionPaths": [
      "workspace/quotes/surface/quote"
    ],
    "fields": []
  },
  "target": {
    "definitionPaths": [
      "workspace/clients/surface/client"
    ],
    "fields": []
  },
  "maximumOutgoing": 1,
  "maximumIncoming": null,
  "acyclic": false,
  "deletion": "forbid",
  "maximumTraversalNodes": 1000
}
```

### Variation and connection

Fragment placed in `presentation.recordProfiles[].detail.relatedGroups[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-record-profile/).

```json
{
  "key": "quotes",
  "label": "Quotes",
  "queryBindingKey": "client-quotes",
  "maximumVisible": 4,
  "openAllLabel": "View all quotes",
  "rowIcon": null
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Selected client
2. Search
3. Quotes
4. View all quotes

<!-- surface-examples:end -->
