blob: c5c7d6eccd9fd636fc5342d623047f1ae32aafff [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Atlas REST API: AtlasRelationshipDef</title>
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap core CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<!--custom css for these pages-->
<link rel="stylesheet" href="css/enunciate.css">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body data-spy="scroll" data-target="#apinav">
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Atlas REST API: AtlasRelationshipDef</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="resources.html">Resources</a></li>
<li><a href="data.html">Data Types</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar" id="apinav">
<ul class="nav nav-sidebar">
<li class="text-right"><a href="#top"><small>Back to Top</small></a></li>
</ul>
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
<ol class="breadcrumb" id="top">
<li class="active dropdown"><a href="index.html">Home</a></li>
<li class="active dropdown"><a href="syntax_json.html">JSON</a></li>
<li class="dropdown"><a href="json_AtlasRelationshipDef.html">AtlasRelationshipDef</a></li>
</ol>
<h1 class="page-header">AtlasRelationshipDef <small>Data Type</small></h1>
<p>AtlasRelationshipDef is a TypeDef that defines a relationship.
<p>
As with other typeDefs the AtlasRelationshipDef has a name. Once created the RelationshipDef has a guid.
The name and the guid are the 2 ways that the RelationshipDef is identified.
<p>
RelationshipDefs have 2 ends, each of which specify cardinality, an EntityDef type name and name and optionally
whether the end is a container.
<p>
RelationshipDefs can have AttributeDefs - though only primitive types are allowed. <br>
RelationshipDefs have a relationshipCategory specifying the UML type of relationship required <br>
RelationshipDefs also have a PropogateTag - indicating which way tags could flow over the relationships.
<p>
The way EntityDefs and RelationshipDefs are intended to be used is that EntityDefs will define AttributeDefs these AttributeDefs
will not specify an EntityDef type name as their types.
<p>
RelationshipDefs introduce new attributes to the entity instances. For example
<p>
EntityDef A might have attributes attr1,attr2,attr3 <br>
EntityDef B might have attributes attr4,attr5,attr6 <br>
RelationshipDef AtoB might define 2 ends <br>
<pre>
end1: type A, name attr7
end2: type B, name attr8 </pre>
<p>
When an instance of EntityDef A is created, it will have attributes attr1,attr2,attr3,attr7 <br>
When an instance of EntityDef B is created, it will have attributes attr4,attr5,attr6,attr8
<p>
In this way relationshipDefs can be authored separately from entityDefs and can inject relationship attributes into
the entity instances</p>
<dl class="dl-horizontal">
</dl>
<table class="table datatype-properties">
<caption>Properties</caption>
<thead>
<tr>
<th>name</th>
<th>data type</th>
<th>description</th>
</tr>
</thead>
<tbody>
<tr>
<td> <span id="prop-endDef1" class="property-name">endDef1</span>
</td>
<td> <span class="datatype-reference"><a href="json_AtlasRelationshipEndDef.html">AtlasRelationshipEndDef</a>
</span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
<tr>
<td> <span id="prop-endDef2" class="property-name">endDef2</span>
</td>
<td> <span class="datatype-reference"><a href="json_AtlasRelationshipEndDef.html">AtlasRelationshipEndDef</a>
</span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
<tr>
<td> <span id="prop-propagateTags" class="property-name">propagateTags</span>
</td>
<td> <span class="datatype-reference"><a href="json_PropagateTags.html">PropagateTags</a>
</span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
<tr>
<td> <span id="prop-relationshipCategory" class="property-name">relationshipCategory</span>
</td>
<td> <span class="datatype-reference"><a href="json_RelationshipCategory.html">RelationshipCategory</a>
</span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
<tr>
<td> <span id="prop-relationshipLabel" class="property-name">relationshipLabel</span>
</td>
<td> <span class="datatype-reference">string
</span>
</td>
<td> <span class="property-description"></span>
</td>
</tr>
</tbody>
<tr>
<td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_AtlasStructDef.html">AtlasStructDef</a></h5></td>
</tr>
<tbody>
<tr>
<td><span class="property-name">attributeDefs</span></td>
<td><span class="datatype-reference">array of <a href="json_AtlasAttributeDef.html">AtlasAttributeDef</a>
</span></td>
<td><span class="property-description"></span></td>
</tr>
</tbody>
<tr>
<td colspan="3"><h5 class="text-muted">Properties inherited from <a href="json_AtlasBaseTypeDef.html">AtlasBaseTypeDef</a></h5></td>
</tr>
<tbody>
<tr>
<td><span class="property-name">category</span></td>
<td><span class="datatype-reference"><a href="json_TypeCategory.html">TypeCategory</a>
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">createTime</span></td>
<td><span class="datatype-reference">number
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">createdBy</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">dateFormatter</span></td>
<td><span class="datatype-reference"><a href="json_DateFormat.html">DateFormat</a>
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">description</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">guid</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">name</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">options</span></td>
<td><span class="datatype-reference">map of string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">serviceType</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">typeVersion</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">updateTime</span></td>
<td><span class="datatype-reference">number
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">updatedBy</span></td>
<td><span class="datatype-reference">string
</span></td>
<td><span class="property-description"></span></td>
</tr>
<tr>
<td><span class="property-name">version</span></td>
<td><span class="datatype-reference">number
</span></td>
<td><span class="property-description"></span></td>
</tr>
</tbody>
</table>
<p class="lead">Example</p>
<pre class="prettyprint language-js example">{
&quot;endDef1&quot; : {
&quot;cardinality&quot; : &quot;SET&quot;,
&quot;description&quot; : &quot;...&quot;,
&quot;isContainer&quot; : true,
&quot;isLegacyAttribute&quot; : true,
&quot;name&quot; : &quot;...&quot;,
&quot;type&quot; : &quot;...&quot;
},
&quot;endDef2&quot; : {
&quot;cardinality&quot; : &quot;SET&quot;,
&quot;description&quot; : &quot;...&quot;,
&quot;isContainer&quot; : true,
&quot;isLegacyAttribute&quot; : true,
&quot;name&quot; : &quot;...&quot;,
&quot;type&quot; : &quot;...&quot;
},
&quot;propagateTags&quot; : &quot;BOTH&quot;,
&quot;relationshipCategory&quot; : &quot;COMPOSITION&quot;,
&quot;relationshipLabel&quot; : &quot;...&quot;,
&quot;attributeDefs&quot; : [ {
&quot;cardinality&quot; : &quot;SINGLE&quot;,
&quot;constraints&quot; : [ {
&quot;params&quot; : {
&quot;property1&quot; : { },
&quot;property2&quot; : { }
},
&quot;type&quot; : &quot;...&quot;
}, {
&quot;params&quot; : {
&quot;property1&quot; : { },
&quot;property2&quot; : { }
},
&quot;type&quot; : &quot;...&quot;
} ],
&quot;defaultValue&quot; : &quot;...&quot;,
&quot;description&quot; : &quot;...&quot;,
&quot;displayName&quot; : &quot;...&quot;,
&quot;includeInNotification&quot; : true,
&quot;indexType&quot; : &quot;DEFAULT&quot;,
&quot;isIndexable&quot; : true,
&quot;isOptional&quot; : true,
&quot;isUnique&quot; : true,
&quot;name&quot; : &quot;...&quot;,
&quot;options&quot; : {
&quot;property1&quot; : &quot;...&quot;,
&quot;property2&quot; : &quot;...&quot;
},
&quot;searchWeight&quot; : 12345,
&quot;typeName&quot; : &quot;...&quot;,
&quot;valuesMaxCount&quot; : 12345,
&quot;valuesMinCount&quot; : 12345
}, {
&quot;cardinality&quot; : &quot;SET&quot;,
&quot;constraints&quot; : [ {
&quot;params&quot; : {
&quot;property1&quot; : { },
&quot;property2&quot; : { }
},
&quot;type&quot; : &quot;...&quot;
}, {
&quot;params&quot; : {
&quot;property1&quot; : { },
&quot;property2&quot; : { }
},
&quot;type&quot; : &quot;...&quot;
} ],
&quot;defaultValue&quot; : &quot;...&quot;,
&quot;description&quot; : &quot;...&quot;,
&quot;displayName&quot; : &quot;...&quot;,
&quot;includeInNotification&quot; : true,
&quot;indexType&quot; : &quot;STRING&quot;,
&quot;isIndexable&quot; : true,
&quot;isOptional&quot; : true,
&quot;isUnique&quot; : true,
&quot;name&quot; : &quot;...&quot;,
&quot;options&quot; : {
&quot;property1&quot; : &quot;...&quot;,
&quot;property2&quot; : &quot;...&quot;
},
&quot;searchWeight&quot; : 12345,
&quot;typeName&quot; : &quot;...&quot;,
&quot;valuesMaxCount&quot; : 12345,
&quot;valuesMinCount&quot; : 12345
} ],
&quot;category&quot; : &quot;CLASSIFICATION&quot;,
&quot;createTime&quot; : 12345,
&quot;createdBy&quot; : &quot;...&quot;,
&quot;dateFormatter&quot; : {
&quot;availableLocales&quot; : [ &quot;...&quot;, &quot;...&quot; ],
&quot;calendar&quot; : 12345,
&quot;dateInstance&quot; : { },
&quot;dateTimeInstance&quot; : { },
&quot;instance&quot; : { },
&quot;lenient&quot; : true,
&quot;numberFormat&quot; : {
&quot;availableLocales&quot; : [ &quot;...&quot;, &quot;...&quot; ],
&quot;currency&quot; : &quot;...&quot;,
&quot;currencyInstance&quot; : { },
&quot;groupingUsed&quot; : true,
&quot;instance&quot; : { },
&quot;integerInstance&quot; : { },
&quot;maximumFractionDigits&quot; : 12345,
&quot;maximumIntegerDigits&quot; : 12345,
&quot;minimumFractionDigits&quot; : 12345,
&quot;minimumIntegerDigits&quot; : 12345,
&quot;numberInstance&quot; : { },
&quot;parseIntegerOnly&quot; : true,
&quot;percentInstance&quot; : { },
&quot;roundingMode&quot; : &quot;HALF_EVEN&quot;
},
&quot;timeInstance&quot; : { },
&quot;timeZone&quot; : {
&quot;DSTSavings&quot; : 12345,
&quot;ID&quot; : &quot;...&quot;,
&quot;availableIDs&quot; : [ &quot;...&quot;, &quot;...&quot; ],
&quot;default&quot; : { },
&quot;displayName&quot; : &quot;...&quot;,
&quot;rawOffset&quot; : 12345
}
},
&quot;description&quot; : &quot;...&quot;,
&quot;guid&quot; : &quot;...&quot;,
&quot;name&quot; : &quot;...&quot;,
&quot;options&quot; : {
&quot;property1&quot; : &quot;...&quot;,
&quot;property2&quot; : &quot;...&quot;
},
&quot;serviceType&quot; : &quot;...&quot;,
&quot;typeVersion&quot; : &quot;...&quot;,
&quot;updateTime&quot; : 12345,
&quot;updatedBy&quot; : &quot;...&quot;,
&quot;version&quot; : 12345
}</pre>
<footer class="footer">
<div class="container">
<p class="text-muted">Generated by <a href="http://enunciate.webcohesion.com">Enunciate</a>.</p>
</div>
</footer>
</div>
</div>
</div>
<!-- JavaScript placed at the end of the document so the pages load faster. -->
<script src="https://code.jquery.com/jquery-1.12.2.min.js"></script>
<!-- Bootstrap core JavaScript
================================================== -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js" type="text/javascript"></script>
<script>
$(function() {
$(".clickable-row").click(function() {
window.document.location = $(this).data("href");
});
$('[data-toggle="tooltip"]').tooltip()
});
</script>
</body>
</html>