"description":"EmbeddedMedia is media embedded in a metadata object. Media such as images allow an icon, thumbnail and larger images to be associated with a metadata element. They are intended to be displayed with the metadata content. This media enriches the description of the object and may include, for example, design drawings, photographs or illustrations of the component in action.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"uri",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"version",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"organization",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"mediaUsage",
"typeName":"array<MediaUsage>",
"cardinality":"SINGLE",
"isOptional":true,
"isUnique":false
},
{
"name":"mediaType",
"typeName":"array<MediaType>",
"cardinality":"SINGLE",
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"ExternalReference",
"description":"External References link metadata to elements in external repositories.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"displayName",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"uri",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"version",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"organization",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"ExternalReferenceLink",
"description":"External reference links relate metadata to elements in external repositories.",
"typeVersion":"1.0",
"endDef1":{
"name":"relatedEntities",
"type":"ExternalReference",
"cardinality":"SET"
},
"endDef2":{
"name":"externalReferences",
"type":"Referenceable",
"cardinality":"SET"
},
"relationshipCategory":"ASSOCIATION",
"attributeDefs":[
{
"name":"referenceId",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true
}
]
},
{
"name":"MediaReference",
"description":"Media reference relates metadata and media elements within this metadata repository.",
"description":"Key Pattern indicates the way that the key is being used",
"typeVersion":"1.0",
"elementDefs":[
{
"ordinal":0,
"value":"LOCAL_KEY"
},
{
"ordinal":1,
"value":"RECYCLED_KEY"
},
{
"ordinal":2,
"value":"NATURAL_KEY",
"description":"A natural key (also known as business key) is a type of unique key, found in relational model database design, that is formed of attributes that already exist in the real world."
},
{
"ordinal":4,
"value":"MIRROR_KEY"
},
{
"ordinal":5,
"value":"AGGREGATE_KEY"
},
{
"ordinal":6,
"value":"CALLERS_KEY"
},
{
"ordinal":7,
"value":"STABLE_KEY"
},
{
"ordinal":99,
"value":"OTHER"
}
]
}
],
"structDefs":[],
"classificationDefs":[],
"entityDefs":[
{
"name":"ExternalId",
"description":"External Identifiers are identifiers for a Referenceable that are used in external systems.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"identifier",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"keyPattern",
"typeName":"KeyPattern",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"ExternalIdentifierLink",
"description":"External Identifier Link relates external identifiers to elements they are also known as.",
"description":"Property facets allow any entity to be extended with additional properties. This is particularly useful for storing metadata that originated in another type of metadata repository, or tool since it allows vendor/tool specific values to be stored.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"version",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"organization",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"properties",
"typeName":"map<string,string>",
"cardinality":"SINGLE",
"isOptional":true,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"ReferenceableFacets",
"description":"The link between the additional (custom) properties and the entity.",
"description":"FixedLocation means that the location represents a physical place where, for example, Hosts, Servers and hence data may be located. This could be an area of a data center, the building the data center is located in, or even the country where the server/data is located.",
"superTypes":[],
"entityTypes":["Location"],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"coordinates",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"address",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"SecureLocation",
"description":"Secure Location indicates that there is restricted access to the location",
"superTypes":[],
"entityTypes":["Location"],
"typeVersion":"1.0",
"attributeDefs":[]
},
{
"name":"CyberLocation",
"description":"CyberLocation means that the location describes something in cyber space.",
"superTypes":[],
"entityTypes":["Location"],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"device",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"entityDefs":[
{
"name":"Location",
"description":"The location can be used to define country, data centers, geographic locations. The granularity in which locations are modeled depends on the organisation. It is important to understand where assets are located to ensure they are properly protected and comply with data sovereignty laws. The notion of a location is variable and the classifications FixedLocation, SecureLocation and CyberLocation help to clarify the nature of the location.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":false,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"NestedLocation",
"description":"The Nested Location relationship allows hierarchical grouping of locations to be represented. Notice that locations can be organized into multiple hierarchies.",
"typeVersion":"1.0",
"endDef1":{
"name":"nestedLocations",
"type":"Location",
"cardinality":"SET",
"isContainer":true
},
"endDef2":{
"name":"groupingLocations",
"type":"Location",
"cardinality":"SET"
},
"relationshipCategory":"AGGREGATION"
},
{
"name":"AdjacentLocation",
"description":"The Adjacent Location relationship links locations that touch one another.",
"description":"A Host is an IT Infrastructure concept associated with the hardware running the systems. It provides a mechanism for describing a unit of hardware that provides the ability to host software servers.",
"superTypes":[
"ITInfrastructure"
],
"typeVersion":"1.0",
"attributeDefs":[]
},
{
"name":"OperatingPlatform",
"description":"The operating platform is an informational entity to describe the operating system of the host.",
"superTypes":[],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"operatingSystem",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"endianness",
"typeName":"Endianness",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"timeZone",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"HostOperatingPlatform",
"description":"The relationship between the Host and the operation platform. Many hosts could have the same operating platform.",
"typeVersion":"1.0",
"endDef1":{
"name":"hosts",
"type":"OperatingPlatform",
"cardinality":"SET"
},
"endDef2":{
"name":"platform",
"type":"Host",
"cardinality":"SINGLE"
},
"relationshipCategory":"ASSOCIATION"
},
{
"name":"HostLocation",
"description":"The host can be linked to its location through the HostLocation relationship.",
"description":"A Host Cluster describes a collection of hosts acting together as a cluster. Clusters are often used to provide horizontal scaling of services.",
"superTypes":[
"Host"
],
"typeVersion":"1.0",
"attributeDefs":[]
},
{
"name":"Virtualcontainer",
"description":"A Virtual Container or a Server Container, provides the services of a host to the software servers deployed on it. Docker is an example of a virtual container. When the server makes requests for storage, network access etc, the VirtualContainer delegates the requests to the equivalent services of the actual host it is deployed on. VirtualContainers can be hosted on other VirtualContainers, but to actually run they need to ultimately be deployed on to a real physical Host.",
"superTypes":[
"Host"
],
"typeVersion":"1.0",
"attributeDefs":[]
}
],
"relationshipDefs":[
{
"name":"DeployedVirtualContainer",
"typeVersion":"1.0",
"endDef1":{
"name":"hosts",
"type":"Virtualcontainer",
"cardinality":"SET",
"isContainer":true
},
"endDef2":{
"name":"hostedContainers",
"type":"Host",
"cardinality":"SET"
},
"relationshipCategory":"AGGREGATION"
},
{
"name":"HostClusterMember",
"typeVersion":"1.0",
"endDef1":{
"name":"hosts",
"description":"There should be one or more hosts.",
"description":"Software Servers describe the middleware software servers (such as application servers, data movement engines and database servers) that run on the Hosts. Within the Software Server model, we capture the userid that it runs under. Most metadata repositories are run in a secure mode requiring incoming requests to incluye the requester's security credentials. Therefore we have an identifier for each unique logged on security identity (aka userId). This identity is recorded within specific entities and relationships when they are created or updated. By storing the user identifier for the server, it is possible to correlate the server with the changes to the metadata (and related data assets) that it makes.",
"superTypes":[
"ITInfrastructure"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"userid",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"type",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"version",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"source",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"Endpoint",
"description":"The endpoint defines the parameters needed to connect to the server. It also features in the Connection model used by applications and tools to call the server. Thus through the endpoint entity it is possible to link the connection to the underlying server.",
"superTypes":["Referenceable"],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"networkAddress",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"protocol",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"encrypted",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"SoftwareServerCapability",
"description":"Within the server are many capabilities. These range from full applications to security plugins to logging and encryption libraries. Different organizations and tools can choose the granularity in which the capabilities are captured in order to provide appropriate context to data assets and the decisions made around them.",
"description":"The cloud provider is the organization that provides and runs the infrastructure for a cloud service. Typically the host it offers is actually a HostCluster. The cloud provider may offer infrastructure as a service (IaaS), in which case, an organization can deploy VirtualContainers onto the cloud provider's HostCluster.",
"superTypes":[],
"entityTypes":["Host"],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"providerName",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"CloudPlatform",
"description":"If the cloud provider is offering platform as a service (PaaS), an application may deploy server capability onto the cloud platform.",
"superTypes":[],
"entityTypes":["SoftwareServer"],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"type",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"CloudService",
"description":"If the cloud provider is offering Software as a Service (SaaS) then it has provided APIs backed by pre-deployed server capability that an organization can call as a cloud service.",
"description":"An Actor Profile makes a contribution in a crowdsourcing role.",
"typeVersion":"1.0",
"elementDefs":[
{
"ordinal":0,
"value":"PROPOSER",
"description":"A proposed contribution."
},
{
"ordinal":1,
"value":"REVIEWER",
"description":"A reviewer contribution."
},
{
"ordinal":2,
"value":"SUPPORTER",
"description":"A supporter contribution."
},
{
"ordinal":3,
"value":"APPROVER",
"description":"An approver contribution."
},
{
"ordinal":99,
"value":"OTHER",
"description":"Another contribution."
}
]
},
{
"name":"ContactMethodType",
"description":"Types of contact method.",
"typeVersion":"1.0",
"elementDefs":[
{
"ordinal":0,
"value":"EMAIL"
},
{
"ordinal":1,
"value":"PHONE"
},
{
"ordinal":99,
"value":"OTHER"
}
]
}
],
"structDefs":[],
"classificationDefs":[],
"entityDefs":[
{
"name":"ContactDetail",
"description":"The contact details describe the contact method and its associated value.",
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"contactMethodType",
"typeName":"ContactMethodType",
"description":"Contact method type",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"contactMethodValue",
"typeName":"string",
"description":"The value associated with the contact method. For example emails have the email address.",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"ActorProfile",
"superTypes":[
"Referenceable"
],
"description":"Actors are associated with the new metadata that they create and comment on via their user identities. This separation is maintained because the user identity is the only information available on calls to the metadata repository. The ActorProfile is used to aggregate the activity of the individual or team. More information about the person behind the user identity is available through the ActorProfile. It describes the actual person, or possibly team if group users are being used, that is working either with the data assets or with the metadata directly. The profile is a record to add additional information about the person or engine that is making the requests. They may have more than one UserIdentity. The userId is recorded with specific entities and relationships when they are created or updated. The userId for a Software Server is also captured in the metadata model, so it is possible to correlate the actions of a data processing Software Server with changes to the metadata.",
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true
}
]
},
{
"name":"Team",
"description":"An team participating in the collaboration around open metadata.",
"superTypes":[
"ActorProfile"
],
"description":"A team",
"typeVersion":"1.0"
},
{
"name":"Person",
"description":"An individual participating in the collaboration around open metadata.",
"superTypes":[
"ActorProfile"
],
"description":"",
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"karmaPoints",
"description":"Open metadata supports KarmaPoints. These are awarded for participation in the collaboration around open metadata.",
"typeName":"int",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"UserIdentity",
"superTypes":[],
"description":"UserIdentity provides a structure for storing the security authentication information about a person. We have a simple string for the userId - but this could be extended to include more sophisticated identification information. The user identity is the only information available on calls to the metadata repository. Most metadata repositories are run in a secure mode requiring incoming requests to be authenticated. There is a userIdentifier for each unique logged on security identity; in this model it is called the userId.",
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"userId",
"description":"The unique logged on security identity.",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"Leadership",
"typeVersion":"1.0",
"endDef1":{
"name":"leads",
"type":"ActorProfile",
"cardinality":"SET"
},
"endDef2":{
"name":"follows",
"type":"ActorProfile",
"cardinality":"SET"
},
"relationshipCategory":"ASSOCIATION",
"propagateTags":"NONE",
"attributeDefs":[]
},
{
"name":"Peer",
"typeVersion":"1.0",
"endDef1":{
"name":"peer",
"type":"ActorProfile",
"cardinality":"SET"
},
"endDef2":{
"name":"peer",
"type":"ActorProfile",
"cardinality":"SET"
},
"relationshipCategory":"ASSOCIATION",
"propagateTags":"NONE",
"attributeDefs":[]
},
{
"name":"ProfileIdentities",
"typeVersion":"1.0",
"endDef1":{
"name":"profile",
"type":"UserIdentity",
"cardinality":"SET"
},
"endDef2":{
"name":"userIdentities",
"type":"ActorProfile",
"cardinality":"SET"
},
"relationshipCategory":"ASSOCIATION",
"propagateTags":"NONE",
"attributeDefs":[]
},
{
"name":"Contributor",
"typeVersion":"1.0",
"endDef1":{
"name":"contributor",
"type":"Referenceable",
"cardinality":"SET"
},
"endDef2":{
"name":"contribution",
"type":"ActorProfile",
"cardinality":"SET"
},
"relationshipCategory":"ASSOCIATION",
"propagateTags":"NONE",
"attributeDefs":[
{
"name":"roleType",
"typeName":"CrowdSourcingRole",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"ActorContactDetail",
"description":"The contact details are all the ways that can be used to contact the actor. Mostly contact details are owned by only one Actor. It is also possible to define shared contact details.",
"description":"The criteria by which this collection is ordered.",
"typeVersion":"1.0",
"elementDefs":[
{
"ordinal":0,
"value":"NAME",
"description":"Order by name alphabetically."
},
{
"ordinal":1,
"value":"OWNER",
"description":"Order by owner alphabetically."
},
{
"ordinal":2,
"value":"DATE_ADDED",
"description":"Order by date added."
},
{
"ordinal":3,
"value":"DATE_UPDATED",
"description":"Order by date updated."
},
{
"ordinal":99,
"value":"OTHER",
"description":"Other order."
}
]
}
],
"structDefs":[],
"classificationDefs":[
{
"name":"Set",
"superTypes":[],
"description":"Classifying a Collection with Set indicates it is an unordered collection.",
"typeVersion":"1.0",
"entityTypes":[
"Collection"
]
},
{
"name":"Folder",
"superTypes":[],
"description":"Classifying a Collection with Folder indicates it is an ordered collection.",
"typeVersion":"1.0",
"entityTypes":[
"Collection"
],
"attributeDefs":[
{
"name":"orderBy",
"description":"The criteria by which this folder is ordered.",
"typeName":"OrderBy",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"otherPropertyName",
"description":"The property name whose values the folder is ordered on.",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"entityDefs":[
{
"name":"Collection",
"description":"Collections provide a general mechanism for grouping resources together. They are typically associated with Actors, Projects or Communities.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"owner",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
],
"relationshipDefs":[
{
"name":"ActorCollections",
"typeVersion":"1.0",
"endDef1":{
"name":"consumingActor",
"type":"Collection",
"cardinality":"SET",
"isContainer":true
},
"endDef2":{
"name":"actorCollections",
"type":"ActorProfile",
"cardinality":"SET"
},
"relationshipCategory":"AGGREGATION",
"propagateTags":"NONE",
"attributeDefs":[
{
"name":"collectionUse",
"description":"This is how the collection is used by the consuming actor.",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"CollectionMembership",
"typeVersion":"1.0",
"endDef1":{
"name":"member",
"type":"Collection",
"cardinality":"SET",
"isContainer":true
},
"endDef2":{
"name":"organisatedBy",
"type":"Referenceable",
"cardinality":"SET"
},
"relationshipCategory":"AGGREGATION",
"propagateTags":"NONE",
"attributeDefs":[
{
"name":"dateAdded",
"description":"This is the date that the collection was added as a member.",
"description":"Related projects can be organized into campaigns. The Campaign classification indicates that the project is working as a campaign. Projects that depend on the Campaign project as part of that project.",
"typeVersion":"1.0",
"entityTypes":[
"Project"
]
},
{
"name":"Task",
"superTypes":[],
"description":"Small items of work, typically performed by a single person, can be defined as tasks for a project.",
"typeVersion":"1.0",
"entityTypes":[
"Project"
]
}
],
"entityDefs":[
{
"name":"Project",
"description":"Projects are used to organize a specific activity. The project is used to control the use of resources and associated costs so they are used appropriately in order to successfully achieve the project's goals. Notice that the project acts as an anchor for collections of resources that the project is using. Since it is a Referenceable, it can have links to external URLs, such as the project home page, project plan or APIs as well as images.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"startDate",
"description":"Project start date",
"typeName":"date",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"plannedEndDate",
"description":"Planned project end date.",
"typeName":"date",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"status",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
}
],
"relationshipDefs":[
{
"name":"ProjectHierarchy",
"typeVersion":"1.0",
"endDef1":{
"name":"managedProjects",
"type":"Project",
"cardinality":"SET",
"isContainer":true
},
"endDef2":{
"name":"managingProject",
"type":"Project",
"cardinality":"SINGLE"
},
"relationshipCategory":"COMPOSITION",
"propagateTags":"NONE"
},
{
"name":"ProjectDependency",
"typeVersion":"1.0",
"endDef1":{
"name":"dependentProjects",
"type":"Project",
"cardinality":"SET",
"isContainer":true
},
"endDef2":{
"name":"dependsOnProject",
"type":"Project",
"cardinality":"SINGLE"
},
"relationshipCategory":"COMPOSITION",
"propagateTags":"NONE",
"attributeDefs":[
{
"name":"dependencySummary",
"description":"Summary description of the dependency.",
"description":"The status of the ToDo allows it to be tracked through to resolution.",
"typeVersion":"1.0",
"elementDefs":[
{
"ordinal":0,
"value":"OPEN",
"description":"An Open Todo means something needs to be done i.e. an action needs to be taken."
},
{
"ordinal":1,
"value":"IN_PROGRESS",
"description":"An in progress ToDo indicates it is being worked on."
},
{
"ordinal":2,
"value":"WAITING",
"description":"The ToDo is waiting / blocked on something."
},
{
"ordinal":3,
"value":"COMPLETE",
"description":"The work associated with the ToDo is complete."
},
{
"ordinal":99,
"value":"ABANDONED",
"description":"The ToDo is no longer required."
}
]
}
],
"structDefs":[],
"classificationDefs":[],
"entityDefs":[
{
"name":"ToDo",
"description":"A Todo is a documented event, task, activity, or action that needs to take place.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"owner",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"creationTime",
"description":"The date and time that the ToDo was created",
"typeName":"date",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"completionTime",
"description":"The date and time that the ToDo was completed.",
"typeName":"date",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"toDoStatus",
"description":"The status indicates how far the ToDo is through to resolution.",
"typeName":"ToDoStatus",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"Meeting",
"description":"A meeting is a gathering (physically and/or virtually) of two or more participants that has been convened over a period of time, to achieve an objective through communication exchanges.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"title",
"description":"Meeting title. A meaningful name for the meeting.",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"startTime",
"description":"The date and time that the Meeting started",
"typeName":"date",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"endTime",
"description":"The date and time that the Meeting ended.",
"typeName":"date",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"objective",
"description":"The intended outcome of the meeting.",
"description":"The type of community membership.",
"typeVersion":"1.0",
"elementDefs":[
{
"ordinal":0,
"value":"MEMBER",
"description":"Member of the community."
},
{
"ordinal":1,
"value":"ADMINISTRATOR",
"description":"Administrator of the community."
},
{
"ordinal":2,
"value":"LEADER",
"description":"Leader of the community."
}
]
}
],
"structDefs":[],
"classificationDefs":[],
"entityDefs":[
{
"name":"Community",
"description":"Communities are groups of people related by a common interest or skill. People tend to stay in communities for the long term. Conversely people are are associated with projects just for the lifetime of the project and then they move on to another.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"mission",
"description":"The goal, task and/or duty of this community.",
"description":"An important principle of good metadata it to be continually capturing the experience of subject matter experts. Comments are a key mechanism for providing text feedback on the metadata definitions by any user. ",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"comment",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"user",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"commentType",
"typeName":"CommentType",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"Rating",
"description":"An important principle of good metadata it to be continually capturing the experience of subject matter experts. Ratings are a key mechanism for providing simple feedback on the metadata definitions by any user.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"stars",
"typeName":"StarRating",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"user",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"review",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"Like",
"description":"Expression of Like by a user.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"user",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"InformalTag",
"description":"A user attaches an informal tag to an entity to make the entity more meaningful for the user, by associating it with a meaningful/useful tag Name.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"user",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"tagName",
"description":"A name that is meaningful to the user.",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"tagDescription",
"description":"The description of the informal tag gives more information about how it is useful.",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"PrivateTag",
"description":"A Private tag is an informal tag that can only be seen by it's author.",
"description":"Engines that are performing processing on the resources may also write notes to the note log. The note log can be attached to any referenceable metadata object.",
"superTypes":[
"Referenceable"
],
"typeVersion":"1.0",
"attributeDefs":[
{
"name":"name",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
},
{
"name":"description",
"typeName":"string",
"cardinality":"SINGLE",
"isIndexable":true,
"isOptional":true,
"isUnique":false
}
]
},
{
"name":"NoteEntry",
"description":"Notes provide additional information about a referenceable object. They are used by resource owners and stewards to document the current status of their resources. A referenceable object can have many notes linked off of it. Notes are used by the people with edit access to the referenceable object to provide information about its content, proposed changes and other useful information. Notes are also used by engines that are working on the related assets to add an informal audit trail of activity around the object.",
"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.",
"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",
"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",
"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
}
]
}
],
"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",
"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",
"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.",
"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.",
"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.",