Abhishek Pal created ATLAS-4755:
-----------------------------------
Summary: Associating term to entities of custom type gives error
Key: ATLAS-4755
URL: https://issues.apache.org/jira/browse/ATLAS-4755
Project: Atlas
Issue Type: Bug
Components: atlas-core
Reporter: Abhishek Pal
Currently when we try to associate terms to entities of user-defined/custom
types it throws the error:
{code}
{
"errorCode": "ATLAS-400-00-036",
"errorMessage": "invalid relationshipDef: AtlasGlossarySemanticAssignment:
end type 1: Referenceable, end type 2: AtlasGlossaryTerm"
}
{code}
----
h3. Steps to reproduce the scenario:
{code}
1. Create type from definition:
[POST] <atlas-url>/api/atlas/v2/entity
Body:
{
"enumDefs": [],
"structDefs": [],
"classificationDefs": [],
"entityDefs": [
{
"attributeDefs": [
{
"name": "name",
"typeName": "string",
"isOptional": true,
"cardinality": "SINGLE",
"valuesMinCount": 0,
"valuesMaxCount": 1,
"isUnique": false,
"isIndexable": false
},
{
"name": "type_str",
"typeName": "string",
"isOptional": true,
"cardinality": "SINGLE",
"valuesMinCount": 0,
"valuesMaxCount": 1,
"isUnique": false,
"isIndexable": false
}
],
"description": "description",
"name": "test_type_for_term",
"category": "ENTITY",
"superTypes": []
}
],
"relationshipDefs": [],
"businessMetadataDefs": []
}
==========================================================
2. Create entity of type 'test_type_for_term':
[POST] <atlas-url>/api/atlas/v2/entity
Body:
{
"referredEntities": {},
"entity": {
"typeName": "test_type_for_term",
"attributes": {
"name": " test_type_for_term_entity_0",
"type_str": "str1"
},
"classifications": [],
"superTypes": []
}
}
==========================================================
3. Create glossary def:
[POST] <atlas-url>/api/atlas/v2/glossary
Body:
{
"name": "test_term_glossary",
"shortDescription": "SD",
"longDescription": "Long Description"
}
Reponse:
{
"guid": "<glossary-guid>",
"qualifiedName": "test_term_glossary",
"name": "test_term_glossary",
"shortDescription": "SD",
"longDescription": "Long Description"
}
==========================================================
4. Create term for the glossary:
[POST] <atlas-url>/api/atlas/v2/glossary/term
Body:
{
"name": "test_term",
"anchor": {
"glossaryGuid": "<glossary-guid>"
}
}
Response:
{
"guid": "<term-guid>",
"qualifiedName": "test_term@test_term_glossary",
"name": "test_term",
"anchor": {
"glossaryGuid": "<glossary-guid>",
"relationGuid": "<relationship-guid>"
},
"glossaryTermHeader": {
"termGuid": "<term-guid>",
"qualifiedName": "test_term@test_term_glossary"
}
}
==========================================================
5. Associate term to the entity:
[POST] <atlas-url>/api/atlas/v2/glossary/terms/<term-guid>/assignedEntities
Body:
[{"guid": "<entity-guid>"}]
This will return the error in response:
{
"errorCode": "ATLAS-400-00-036",
"errorMessage": "invalid relationshipDef: AtlasGlossarySemanticAssignment:
end type 1: Referenceable, end type 2: AtlasGlossaryTerm"
}
{code}
\\
{color:red}*Note:*{color} Text in angular brackets (<>) are placeholders and
contain guids or other related info from the previous steps
--
This message was sent by Atlassian Jira
(v8.20.10#820010)