Commit f89fa441 by David Radley Committed by Madhan Neethiraj

ATLAS-2309: Add Area 1 types

parent d1e79fa0
{
"enumDefs": [
{
"name": "CrowdSourcingRole",
"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.",
"typeVersion": "1.0",
"endDef1": {
"name": "contacts",
"type": "ActorProfile",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "actorProfile",
"type": "ContactDetail",
"cardinality": "SET"
},
"relationshipCategory": "AGGREGATION",
"propagateTags": "NONE"
}
]
}
\ No newline at end of file
{
"enumDefs": [
{
"name": "OrderBy",
"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.",
"typeName": "date",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
}
]
}
]
}
\ No newline at end of file
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [
{
"name": "Campaign",
"superTypes": [],
"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.",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "ProjectTeam",
"typeVersion": "1.0",
"endDef1": {
"name": "supportingTeams",
"type": "Project",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "projectFocus",
"type": "Team",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE",
"attributeDefs": [
{
"name": "teamRole",
"description": "Role in the team.",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "ProjectResources",
"typeVersion": "1.0",
"endDef1": {
"name": "supportingResources",
"type": "Project",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "projectUse",
"type": "Collection",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE",
"attributeDefs": [
{
"name": "resourceUse",
"description": "Role in the team.",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "ProjectScope",
"typeVersion": "1.0",
"endDef1": {
"name": "projectScope",
"type": "Project",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "projectImpactingAssets",
"type": "Collection",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE",
"attributeDefs": [
{
"name": "scopeDescription",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
}
]
}
\ No newline at end of file
{
"enumDefs": [
{
"name": "CommunityMembershipType",
"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.",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
}
],
"relationshipDefs": [
{
"name": "CommunityMembership",
"typeVersion": "1.0",
"endDef1": {
"name": "Community",
"type": "Person",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "members",
"type": "Community",
"cardinality": "SET"
},
"relationshipCategory": "AGGREGATION",
"propagateTags": "NONE",
"attributeDefs": [
{
"name": "relationshipType",
"typeName": "CommunityMembershipType",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "CommunityResources",
"typeVersion": "1.0",
"endDef1": {
"name": "supportingResources",
"type": "Community",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "projectFocus",
"type": "Collection",
"cardinality": "SET"
},
"relationshipCategory": "AGGREGATION",
"propagateTags": "NONE"
}
]
}
\ No newline at end of file
{
"enumDefs": [
{
"name": "CommentType",
"description":"Types of comments.",
"typeVersion": "1.0",
"elementDefs": [
{
"ordinal": 0,
"value": "GENERAL_COMMENT"
},
{
"ordinal": 1,
"value": "QUESTION"
},
{
"ordinal": 2,
"value": "ANSWER"
},
{
"ordinal": 3,
"value": "SUGGESTION"
},
{
"ordinal": 4,
"value": "EXPERIENCE"
}
]
},
{
"name": "StarRating",
"description":"Start rating values.",
"typeVersion": "1.0",
"elementDefs": [
{
"ordinal": 0,
"value": "NOT_RECOMMENDED"
},
{
"ordinal": 1,
"value": "ONE_STAR"
},
{
"ordinal": 2,
"value": "TWO_STAR"
},
{
"ordinal": 3,
"value": "THREE_STAR"
},
{
"ordinal": 4,
"value": "FOUR_STAR"
},
{
"ordinal": 5,
"value": "FIVE_STAR"
}
]
}
],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [
{
"name": "Comment",
"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.",
"superTypes": [
"InformalTag"
],
"typeVersion": "1.0"
}
],
"relationshipDefs": [
{
"name": "AttachedLike",
"typeVersion": "1.0",
"endDef1": {
"name": "likes",
"type": "Referenceable",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "likedObject",
"type": "Like",
"cardinality": "SINGLE"
},
"propagateTags": "NONE",
"relationshipCategory": "COMPOSITION"
},
{
"name": "AttachedTag",
"typeVersion": "1.0",
"endDef1": {
"name": "tags",
"type": "Referenceable",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "taggedObject",
"type": "InformalTag",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE"
},
{
"name": "AttachedRating",
"typeVersion": "1.0",
"endDef1": {
"name": "starRatings",
"type": "Referenceable",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "RatedObject",
"type": "Rating",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE"
},
{
"name": "AttachedFeedback",
"typeVersion": "1.0",
"endDef1": {
"name": "supportingResources",
"type": "Project",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "projectUse",
"type": "Collection",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE",
"attributeDefs": [
{
"name": "resourceUse",
"description": "Role in the team.",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "ProjectScope",
"typeVersion": "1.0",
"endDef1": {
"name": "projectScope",
"type": "Project",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "projectImpactingAssets",
"type": "Collection",
"cardinality": "SINGLE"
},
"relationshipCategory": "COMPOSITION",
"propagateTags": "NONE",
"attributeDefs": [
{
"name": "scopeDescription",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
}
]
}
\ No newline at end of file
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [
{
"name": "NoteLog",
"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.",
"superTypes": [
"Referenceable"
],
"typeVersion": "1.0",
"attributeDefs": [
{
"name": "text",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
},
{
"name": "user",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
},
{
"name": "lastUpdate",
"typeName": "date",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": true,
"isUnique": false
}
]
}
],
"relationshipDefs": [
{
"name": "AttachedNoteLogEntry",
"typeVersion": "1.0",
"endDef1": {
"name": "describes",
"type": "NoteLog",
"cardinality": "SET"
},
"endDef2": {
"name": "notes",
"type": "Referenceable",
"cardinality": "SET"
},
"propagateTags": "NONE"
},
{
"name": "AttachedNoteLog",
"typeVersion": "1.0",
"endDef1": {
"name": "entries",
"type": "NoteLog",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"name": "logs",
"type": "NoteEntry",
"cardinality": "SINGLE"
},
"propagateTags": "NONE",
"relationshipCategory": "AGGREGATION"
}
]
}
\ No newline at end of file
......@@ -429,8 +429,13 @@ public class AtlasRelationshipDefStoreV1 extends AtlasAbstractDefStoreV1<AtlasRe
public static void setVertexPropertiesFromRelationshipDef(AtlasRelationshipDef relationshipDef, AtlasVertex vertex) {
vertex.setProperty(Constants.RELATIONSHIPTYPE_END1_KEY, AtlasType.toJson(relationshipDef.getEndDef1()));
vertex.setProperty(Constants.RELATIONSHIPTYPE_END2_KEY, AtlasType.toJson(relationshipDef.getEndDef2()));
// default the relationship category to association if it has not been specified.
String relationshipCategory = RelationshipCategory.ASSOCIATION.name();
if (relationshipDef.getRelationshipCategory()!=null) {
relationshipCategory =relationshipDef.getRelationshipCategory().name();
}
// Update RelationshipCategory
vertex.setProperty(Constants.RELATIONSHIPTYPE_CATEGORY_KEY, relationshipDef.getRelationshipCategory().name());
vertex.setProperty(Constants.RELATIONSHIPTYPE_CATEGORY_KEY, relationshipCategory);
if (relationshipDef.getPropagateTags() == null) {
vertex.setProperty(Constants.RELATIONSHIPTYPE_TAG_PROPAGATION_KEY, AtlasRelationshipDef.PropagateTags.NONE.name());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment