Repository: atlas
Updated Branches:
  refs/heads/master 943eb2bb0 -> 701b01122


ATLAS1839 Add Area 3 models for Glossary

Signed-off-by: David Radley <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/701b0112
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/701b0112
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/701b0112

Branch: refs/heads/master
Commit: 701b011228fa6fc45cc3d06458f028660b9012d7
Parents: 943eb2b
Author: David Radley <[email protected]>
Authored: Tue Oct 10 13:40:33 2017 +0200
Committer: David Radley <[email protected]>
Committed: Wed Oct 11 11:09:30 2017 +0200

----------------------------------------------------------------------
 .../0300-Area3-SubjectArea/0310-Glossary.json   | 129 ++++++
 .../0320-CategoryHierarchy.json                 | 141 ++++++
 .../0300-Area3-SubjectArea/0330-Terms.json      | 208 +++++++++
 .../0300-Area3-SubjectArea/0340-Dictionary.json |  75 +++
 .../0350-RelatedTerms.json                      | 456 +++++++++++++++++++
 .../0300-Area3-SubjectArea/0360-Contexts.json   |  91 ++++
 .../0370-SemanticAssignment.json                | 149 ++++++
 .../0380-SpineObjects.json                      | 184 ++++++++
 8 files changed, 1433 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0310-Glossary.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0310-Glossary.json 
b/addons/models/0300-Area3-SubjectArea/0310-Glossary.json
new file mode 100644
index 0000000..cac2ce2
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0310-Glossary.json
@@ -0,0 +1,129 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "IsCanonicalVocabulary",
+      "superTypes": [],
+      "description": "Canonical Vocabulary provides the standard vocabulary 
definitions for an organization. Typically terms from other glossaries are 
linked to terms from the canonical glossary.",
+      "typeVersion": "1.0",
+      "entityTypes": [
+        "Glossary"
+      ],
+      "attributeDefs": [
+        {
+          "name": "scope",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "IsTaxonomy",
+      "superTypes": [],
+      "description": "A Taxonomy is a glossary that has a formal structure. 
Typically the terms have been organized into a category hierarchy that reflects 
their meaning or use. There may also be term relationships that also form part 
of the hierarchy. Taxonomies are often used to organize documents and other 
media in content repositories.",
+      "typeVersion": "1.0",
+      "entityTypes": [
+        "Glossary"
+      ],
+      "attributeDefs": [
+        {
+          "name": "organizingPrinciple",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "entityDefs": [
+    {
+      "name": "Glossary",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "description": "The anchor for each glossary is the Glossary object, 
which contains a collection of terminology. A metadata repository may contain 
many glossaries, particularly when it is part of a bigger enterprise cluster of 
repositories. Each glossary may come from a specific team or external 
organization; or it may be focused on a particular topic or set of use cases. 
The classifications associated with the glossary object are used to document 
the type of vocabulary it contains and its purpose. These classifications are 
independent of one another so a Glossary object may have none, one or all of 
these classifications attached.",
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "displayName",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "shortDescription",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "longDescription",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "language",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "usage",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "ExternalGlossaryLink",
+      "superTypes": [
+        "ExternalReference"
+      ],
+      "description": "The content from this glossary comes from an external 
source. It may be, for example an industry-specific glossary, or from a 
standards body, or from an open data site, or from a commercial organization.",
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "organization",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "ExternallySourcedGlossary",
+      "typeVersion": "1.0",
+      "endDef1": {
+        "name": "externalGlossaries",
+        "type": "Glossary",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "localGlossaries",
+        "type": "ExternalGlossaryLink",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": []
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0320-CategoryHierarchy.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0320-CategoryHierarchy.json 
b/addons/models/0300-Area3-SubjectArea/0320-CategoryHierarchy.json
new file mode 100644
index 0000000..804be9e
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0320-CategoryHierarchy.json
@@ -0,0 +1,141 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "SubjectArea",
+      "superTypes": [],
+      "description": "SubjectArea is a classification for a category that 
indicates that the category represents a subject area.",
+      "entityTypes": [
+        "GlossaryCategory"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": []
+    }
+  ],
+  "entityDefs": [
+    {
+      "name": "GlossaryCategory",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "description": "The vocabulary (the terms) for the glossary is organized 
into a hierarchy of categories. These categories effectively provide a folder 
structure for the glossary. Just like a GlossaryTerm, a GlossaryCategory is 
owned by a glossary.",
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "displayName",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "shortDescription",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "longDescription",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "CategoryAnchor",
+      "typeVersion": "1.0",
+      "description": "CategoryAnchor links each category to exactly one 
Glossary object. This means that this is its home glossary. If the Glossary 
object is deleted then so are all of the categories linked to it.",
+      "endDef1": {
+        "name": "categories",
+        "type": "Glossary",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "anchor",
+        "type": "GlossaryCategory",
+        "cardinality": "SINGLE"
+      },
+      "relationshipCategory": "COMPOSITION",
+      "propagateTags": "NONE"
+    },
+    {
+      "name": "CategoryHierarchyLink",
+      "typeVersion": "1.0",
+      "description": "CategoryHierarchyLink is a relationship used to organize 
categories into a hierarchy to, for example, create a structure for a taxonomy. 
A category may have none or one super-categories. This super-category may be in 
a different glossary.",
+      "endDef1": {
+        "name": "childrenCategories",
+        "type": "GlossaryCategory",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "parentCategory",
+        "type": "GlossaryCategory",
+        "cardinality": "SINGLE"
+      },
+      "relationshipCategory": "AGGREGATION",
+      "propagateTags": "NONE"
+    },
+    {
+      "name": "LibraryCategoryReference",
+      "superTypes": [],
+      "typeVersion": "1.0",
+      "description": "LibraryCategoryReference provides reference information 
for how this category corresponds to a category in an external glossary.",
+      "endDef1": {
+        "name": "localCategories",
+        "type": "ExternalGlossaryLink",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "externalGlossaryLinks",
+        "type": "GlossaryCategory",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "identifier",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "lastVerified",
+          "typeName": "date",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0330-Terms.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0330-Terms.json 
b/addons/models/0300-Area3-SubjectArea/0330-Terms.json
new file mode 100644
index 0000000..c267fb2
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0330-Terms.json
@@ -0,0 +1,208 @@
+{
+  "enumDefs": [
+    {
+      "name": "TermRelationshipStatus",
+      "description": "TermRelationshipStatus defines how reliable the 
relationship is between two glossary terms",
+      "typeVersion": "1.0",
+      "elementDefs": [
+        {
+          "ordinal": 0,
+          "value": "DRAFT",
+          "description": "DRAFT means the relationship is under development."
+        },
+        {
+          "ordinal": 1,
+          "value": "ACTIVE",
+          "description": "ACTIVE means the relationship is validated and in 
use."
+        },
+        {
+          "ordinal": 2,
+          "value": "DEPRECATED",
+          "description": "DEPRECATED means the the relationship is being 
phased out."
+        },
+        {
+          "ordinal": 3,
+          "value": "OBSOLETE",
+          "description": "OBSOLETE means that the relationship should not be 
used anymore."
+        },
+        {
+          "ordinal": 99,
+          "value": "OTHER",
+          "description": "OTHER means that there is another status."
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [
+    {
+      "name": "GlossaryTerm",
+      "description": "The vocabulary for the glossary is documented using 
terms. Each term represents a concept or short phrase in the vocabulary. Just 
like a category, a term is owned by a glossary. A term can be linked into a 
category from any glossary.",
+      "superTypes": [
+        "Referenceable"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "displayName",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "shortDescription",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "longDescription",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "examples",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "abbreviation",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "usage",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "media",
+          "typeName": "array<EmbeddedMedia>",
+          "cardinality": "SINGLE",
+          "isOptional": true
+        }
+      ]
+    }
+  ],
+  "relationshipDefs": [
+    {
+      "name": "TermAnchor",
+      "typeVersion": "1.0",
+      "description": "TermAnchor links each term to exactly one Glossary 
object. This means that this is its home glossary. If the Glossary object is 
deleted, then so are all of the terms linked to it.",
+      "endDef1": {
+        "name": "terms",
+        "type": "Glossary",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "anchor",
+        "type": "GlossaryTerm",
+        "cardinality": "SINGLE"
+      },
+      "relationshipCategory": "COMPOSITION",
+      "propagateTags": "NONE"
+    },
+    {
+      "name": "TermCategorization",
+      "typeVersion": "1.0",
+      "description": "TermCategorization is a relationship used to organize 
terms into categories. A term may be linked with many categories and a category 
may have many terms linked to it. This relationship may connect terms and 
categories both in the same glossary or in different glossaries.",
+      "endDef1": {
+        "name": "terms",
+        "type": "GlossaryCategory",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "categories",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "AGGREGATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+        ]
+    },
+    {
+      "name": "LibraryTermReference",
+      "superTypes": [],
+      "typeVersion": "1.0",
+      "description": "Library Term Reference provides reference information 
for how this term corresponds to a term in an external glossary.",
+      "endDef1": {
+        "name": "localTerms",
+        "type": "ExternalGlossaryLink",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "externalGlossaryLinks",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "identifier",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "lastVerified",
+          "typeName": "date",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0340-Dictionary.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0340-Dictionary.json 
b/addons/models/0300-Area3-SubjectArea/0340-Dictionary.json
new file mode 100644
index 0000000..6e060f3
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0340-Dictionary.json
@@ -0,0 +1,75 @@
+{
+  "enumDefs": [
+    {
+      "name": "ActivityType",
+      "typeVersion": "1.0",
+      "description": "Activity type describes a verb or type of activity.",
+      "elementDefs": [
+        {
+          "ordinal": 0,
+          "value": "OPERATION",
+          "description": "OPERATION describes a function or API call."
+        },
+        {
+          "ordinal": 1,
+          "value": "ACTION",
+          "description": "ACTION describes a governance action that results 
from evaluating governance rules."
+        },
+        {
+          "ordinal": 2,
+          "value": "TASK",
+          "description": "TASK describes a task performed by a person."
+        },
+        {
+          "ordinal": 3,
+          "value": "PROCESS",
+          "description":"PROCESS describes a process, which is a series of 
steps that are performed in a defined order."
+        },
+        {
+          "ordinal": 4,
+          "value": "PROJECT",
+          "description":"PROJECT describes a type of project."
+        },
+        {
+          "ordinal": 99,
+          "value": "OTHER",
+          "description":"OTHER describes some other type of activity."
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "ActivityDescription",
+      "superTypes": [],
+      "description": "ActivityDescription is a classification used to indicate 
that the term describes a verb or an activity. Most term definitions are nouns, 
they describe concepts or things. However, it is useful to be able to define 
the meanings of particular activities in the glossary. The ActivityDescription 
classification highlights when a term describes such an activity.",
+      "entityTypes": [
+        "GlossaryTerm"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "type",
+          "typeName": "ActivityType",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    },
+    {
+      "name": "AbstractConcept",
+      "superTypes": [],
+      "description": "AbstractConcept describes an abstract concept.",
+      "entityTypes": [
+        "GlossaryTerm"
+      ],
+      "typeVersion": "1.0",
+      "attributeDefs": []
+    }
+  ],
+  "entityDefs": [],
+  "relationshipDefs": []
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0350-RelatedTerms.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0350-RelatedTerms.json 
b/addons/models/0300-Area3-SubjectArea/0350-RelatedTerms.json
new file mode 100644
index 0000000..37e1141
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0350-RelatedTerms.json
@@ -0,0 +1,456 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [],
+  "relationshipDefs": [
+    {
+      "name": "RelatedTerm",
+      "typeVersion": "1.0",
+      "description": "RelatedTerm is a relationship used to say that the 
linked glossary term may also be of interest. It is like a 'see also' link in a 
dictionary.",
+      "endDef1": {
+        "name": "seeAlso",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "seeAlso",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to explain why the 
linked term is of interest.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "Synonym",
+      "typeVersion": "1.0",
+      "description": "Synonym is a relationship between glossary terms that 
have the same, or a very similar meaning in the same language. Notice that both 
ends of this relationship have the same name and refer to the same type; this 
results in one Synonym attribute being added to GlossaryTerm.",
+      "endDef1": {
+        "name": "synonyms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "synonyms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "Antonym",
+      "typeVersion": "1.0",
+      "description": "Antonym is a relationship between glossary terms that 
have the opposite (or near opposite) meaning, in the same language. Notice that 
both ends of this relationship have the same name and refer to the same type; 
this results in one Antonym attribute being added to GlossaryTerm.",
+      "endDef1": {
+        "name": "antonyms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "antonyms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "preferredTerm",
+      "typeVersion": "1.0",
+      "description": "PreferredTerm is a relationship that indicates that the 
preferredTerm should be used in place of the preferredToTerm. This relationship 
can be used to encourage adoption of newer vocabularies. This is a weaker 
version of ReplacementTerm.",
+      "endDef1": {
+        "name": "preferredTerms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "preferredToTerms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "ReplacementTerm",
+      "typeVersion": "1.0",
+      "description": "ReplacementTerm is a relationship that indicates that 
the replacementTerm must be used instead of the replacedByTerm. This is 
stronger version of the PreferredTerm.",
+      "endDef1": {
+        "name": "replacedBy",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "replacementTerms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "Translation",
+      "typeVersion": "1.0",
+      "description": "Translation is a relationship that defines that the 
related terms represent the same meaning, but each are written in a different 
language. Hence one is a translation of the other. The language of each term is 
defined in the Glossary object that anchors the term.",
+      "endDef1": {
+        "name": "TransatedTerms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "TranslationTerms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "IsARelationship",
+      "typeVersion": "1.0",
+      "description": "IsA is a relationship that defines that the 'isA' term 
is a more generic term than the 'isOf' term. For example, this relationship 
would be use to say that 'Cat' ISA 'Animal'.",
+      "endDef1": {
+        "name": "classifies",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "isA",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "validValue",
+      "typeVersion": "1.0",
+      "description": "ValidValue is a relationship that shows the validValue 
term represents one of the valid values that could be assigned to a data item 
that has the meaning described in the validValueFor term.",
+      "endDef1": {
+        "name": "validValuesFor",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "validValues",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0360-Contexts.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0360-Contexts.json 
b/addons/models/0300-Area3-SubjectArea/0360-Contexts.json
new file mode 100644
index 0000000..437b04e
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0360-Contexts.json
@@ -0,0 +1,91 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "ContextDefinition",
+      "superTypes": [],
+      "description": "ContextDefinition classification indicates that the term 
describes a context.",
+      "typeVersion": "1.0",
+      "entityTypes": [
+        "GlossaryTerm"
+      ],
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the classification.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        },
+        {
+          "name": "scope",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
+        }
+      ]
+    }
+  ],
+  "entityDefs": [],
+  "relationshipDefs": [
+    {
+      "name": "UsedInContext",
+      "typeVersion": "1.0",
+      "description": "Glossary Terms that are relevant in that context are 
linked to the context definition term using the UsedInContext relationship.",
+      "endDef1": {
+        "name": "contextRelevantTerms",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "usedInContexts",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0370-SemanticAssignment.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0370-SemanticAssignment.json 
b/addons/models/0300-Area3-SubjectArea/0370-SemanticAssignment.json
new file mode 100644
index 0000000..c5fd7cc
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0370-SemanticAssignment.json
@@ -0,0 +1,149 @@
+{
+  "enumDefs": [
+    {
+      "name": "TermAssignmentStatus",
+      "description": "TermAssignmentStatus defines how much the semantic 
assignment should be trusted.",
+      "typeVersion": "1.0",
+      "elementDefs": [
+        {
+          "value": "DISCOVERED",
+          "ordinal": 0,
+          "description": "DISCOVERED means that the semantic assignment was 
added by a discovery engine."
+        },
+        {
+          "value": "PROPOSED",
+          "ordinal": 1,
+          "description": "PROPOSED means that the semantic assignment was 
proposed by person - they may be a subject matter expert, or consumer of the 
Referenceable asset"
+        },
+        {
+          "value": "IMPORTED",
+          "ordinal": 2,
+          "description": "IMPORTED means that the semantic assignment has been 
imported from outside of the open metadata cluster"
+        },
+        {
+          "value": "VALIDATED",
+          "ordinal": 3,
+          "description": "VALIDATED means that the semantic assignment has 
been reviewed and is highly trusted."
+        },
+        {
+          "value": "DEPRECATED",
+          "ordinal": 4,
+          "description": "DEPRECATED means that the semantic assignment is 
being phased out. There may be another semantic assignment to the Referenceable 
that will ultimately replace this one."
+        },
+        {
+          "value": "OBSOLETE",
+          "ordinal": 5,
+          "description": "OBSOLETE means that the semantic assignment is no 
longer in use,"
+        },
+        {
+          "value": "OTHER",
+          "ordinal": 6,
+          "description": "OTHER means that the semantic assignment value does 
not match any of the other Term Assignment Status values"
+        }
+      ]
+    }
+  ],
+  "structDefs": [],
+  "classificationDefs": [],
+  "entityDefs": [],
+  "relationshipDefs": [
+    {
+      "name": "SemanticAssignment",
+      "description": "SemanticAssignment is a relationship used to assign a 
term to a referenceable object. This means that the term describes the meaning 
of the referenceable object. The semantic assignment needs to be a controlled 
relationship when glossary definitions are used to provide classifications for 
the data assets and hence define how the data is to be governed.",
+      "typeVersion": "1.0",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the semantic assignment.",
+          "typeName": "string",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        },
+        {
+          "name": "expression",
+          "typeName": "string",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        },
+        {
+          "name": "confidence",
+          "description": "The confidence attribute in the semantic assignment 
stores the level of confidence (0-100%) in the correctness of the semantic 
assignment - it is typically used by discovery engines.",
+          "typeName": "int",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        },
+        {
+          "name": "createdBy",
+          "description": "The semantic assignment is created by the user 
(person or engine) identified by the createdBy attribute.",
+          "typeName": "string",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the semantic assignment and deciding if it should be approved or not.",
+          "typeName": "string",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "isOptional": true,
+          "cardinality": "SINGLE",
+          "valuesMinCount": 0,
+          "valuesMaxCount": 1,
+          "isUnique": false,
+          "isIndexable": true
+        }
+      ],
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "ONE_TO_TWO",
+      "endDef1": {
+        "type": "GlossaryTerm",
+        "name": "assignedEntities",
+        "isContainer": false,
+        "cardinality": "SET",
+        "isLegacyAttribute": false
+      },
+      "endDef2": {
+        "type": "Referenceable",
+        "name": "meanings",
+        "isContainer": false,
+        "cardinality": "SET",
+        "isLegacyAttribute": false
+      },
+      "relationshipLabel": "r:SemanticAssignment"
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/atlas/blob/701b0112/addons/models/0300-Area3-SubjectArea/0380-SpineObjects.json
----------------------------------------------------------------------
diff --git a/addons/models/0300-Area3-SubjectArea/0380-SpineObjects.json 
b/addons/models/0300-Area3-SubjectArea/0380-SpineObjects.json
new file mode 100644
index 0000000..7729655
--- /dev/null
+++ b/addons/models/0300-Area3-SubjectArea/0380-SpineObjects.json
@@ -0,0 +1,184 @@
+{
+  "enumDefs": [],
+  "structDefs": [],
+  "classificationDefs": [
+    {
+      "name": "SpineObject",
+      "superTypes": [],
+      "description": "SpineObject is a classification to say the term 
represents a type of object. The spine object model adds the relationships that 
enable a glossary to contain the definition of spine objects that can be used 
to control access to data, and then guide the design of new data stores and 
APIs. Note that a term may be a spine object and/or a spine attribute and/or an 
object identifier at the same time.",
+      "typeVersion": "1.0",
+      "entityTypes": [
+        "GlossaryTerm"
+      ]
+    },
+    {
+      "name": "SpineAttribute",
+      "superTypes": [],
+      "description": "SpineAttribute is a classification to say the term 
represents a type of attribute that is common for a spine object. Note that a 
term may be a spine object and/or a spine attribute and/or an object identifier 
at the same time.",
+      "typeVersion": "1.0",
+      "entityTypes": [
+        "GlossaryTerm"
+      ]
+    },
+    {
+      "name": "ObjectIdentifier",
+      "superTypes": [],
+      "description": "ObjectIdentifier is a classification saying that a term 
is typically an identifier for a spine object. Note that a term may be a spine 
object and/or a spine attribute and/or an object identifier at the same time.",
+      "typeVersion": "1.0",
+      "entityTypes": [
+        "GlossaryTerm"
+      ]
+    }
+  ],
+  "entityDefs": [],
+  "relationshipDefs": [
+    {
+      "name": "TermHASARelationship",
+      "typeVersion": "1.0",
+      "description": "TermHASARelationship is a term relationship between a 
term representing a SpineObject and a term representing a SpineAttribute.",
+      "endDef1": {
+        "name": "attributes",
+        "type": "GlossaryTerm",
+        "cardinality": "SET",
+        "isContainer": true
+      },
+      "endDef2": {
+        "name": "objects",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "AGGREGATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "TermISATYPEOFRelationship",
+      "typeVersion": "1.0",
+      "description": "TermISATYPEOFRelationship is a term relationship between 
two SpineObjects saying that one is the subtype (specialisation) of the other.",
+      "endDef1": {
+        "name": "supertypes",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "subtypes",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    },
+    {
+      "name": "TermTYPEDBYRelationship",
+      "typeVersion": "1.0",
+      "description": "TermTYPEDBYRelationship is a term relationship between a 
SpineAttribute and a SpineObject to say that the SpineAttribute is implemented 
using a type represented by the SpineObject.",
+      "endDef1": {
+        "name": "typedAttributes",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "endDef2": {
+        "name": "types",
+        "type": "GlossaryTerm",
+        "cardinality": "SET"
+      },
+      "relationshipCategory": "ASSOCIATION",
+      "propagateTags": "NONE",
+      "attributeDefs": [
+        {
+          "name": "description",
+          "description": "The description field can be used to add details 
about the relationship.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "status",
+          "typeName": "TermRelationshipStatus",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "steward",
+          "description": "The steward is the person responsible for assessing 
the relationship and deciding if it should be approved or not.",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        },
+        {
+          "name": "source",
+          "typeName": "string",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true
+        }
+      ]
+    }
+  ]
+}

Reply via email to