[ 
https://issues.apache.org/jira/browse/ATLAS-1410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15931905#comment-15931905
 ] 

Stefhan van Helvoirt commented on ATLAS-1410:
---------------------------------------------

Page 5:
Use case 1: "It is important that duplicate glossary terms names can be defined 
in the glossary", No. Within a single glossary, it should not be possible to 
have multiple terms with identical names. If the requirement arises to maintain 
duplicates then this should be done across multiple glossaries. This is in 
alignment with the idea of having 'departmental glossaries'.

Use case 2: There might be a need to have two different types of 
categorizations. One for scoping / context and another for adding generic 
characteristics on the set of contained terms. In other glossaries this is 
sometimes referred to as a Parent Category and Referencing Categories. Each 
term has only one Parent Category but could be referenced by multiple other 
categories. These referencing categories have a scoping purpose, while the 
parent category could also have tags / characteristics that will be inherited 
to the contained terms. 

Page 6: Regarding discussion point 'There does not appear to be a need for a 
Glossary Term to have a special “parent” category, as the Glossary owns the 
Glossary Term' If you want to manage a collection of terms in a similar way 
within a glossary then some form of parent category or unique structuring 
method is needed. If there is no uniqueness then multiple groupings with 
different characteristics can collide.

Page 7: "Glossary Term names might not be unique in a Glossary." No, see 
earlier comments. 
"This is a name containing a term’s
inheritance and the Glossary it comes from." Only Glossary + Term name should 
be sufficient, no need to add parent terms in the fully qualified name. 

Unclear why there is a need to have different term types. From a business 
perspective there is only one type of term. These various types such as Concept 
and Attribute suggest something technical which is not relevant from a term 
perspective as they are written from a business view. Also, a term can be a 
concept in one context and a attribute in another, how is that handled with 
this setup? E.g. 'Email address' is a attribute of 'Customer' and a Concept in 
the structure 'Location' --> 'Address' --> 'Electronic address' --> 'Email 
address'.


Page 8 "A Classification points to one entity and can have many associated 
term." I don't think i fully understand this statement. It would be wiser to 
have the classification point to one or more terms and that the term will point 
to one or more entities. To be further discussed. Also it should be possible to 
have multiple classification pointing to the same object. 

Page 9 "The classification associated with the term should not be automatically 
cascaded by Atlas to the assigned assets." Agree that Atlas does not 
necessarily needs to do the cascading because logic might need to be involved. 
However, the result might need to be made available in Atlas and shown in a 
distinct way. If Atlas is seen as the single source of truth then it must be 
possible for a end user to see from solely Atlas that a classification is 
'Derived from'. How that derivation has occurred can happen by a different 
service. 

Stopped after page 11. Will continue to review remaining pages in the coming 
days. 

> V2 Glossary API
> ---------------
>
>                 Key: ATLAS-1410
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1410
>             Project: Atlas
>          Issue Type: Improvement
>            Reporter: David Radley
>            Assignee: David Radley
>         Attachments: Atlas Glossary V2 proposal v1.0.pdf, Atlas Glossary V2 
> proposal v1.1.pdf
>
>
> The BaseResourceDefinition uses the AttributeDefintion class from typesystem. 
> There are newer more funcitonal versions of this capability in the atlas-intg 
> project. This Jira is changing over the glossary implementation to the newer 
> entity / type classes.  
> Instread of the instanceProperties and collectionProperties in the 
> BaseResourceDefintions we should use something in this sort of style :  
> "
>  AtlasEntityDef deptTypeDef =
>                 AtlasTypeUtil.createClassTypeDef(DEPARTMENT_TYPE, 
> "Department"+_description, ImmutableSet.<String>of(),
>                         AtlasTypeUtil.createRequiredAttrDef("name", "string"),
>                         new AtlasAttributeDef("employees", 
> String.format("array<%s>", "Person"), true,
>                                 AtlasAttributeDef.Cardinality.SINGLE, 0, 1, 
> false, false,
>                                 
> Collections.<AtlasStructDef.AtlasConstraintDef>emptyList()));
>         AtlasEntityDef personTypeDef = 
> AtlasTypeUtil.createClassTypeDef("Person", "Person"+_description, 
> ImmutableSet.<String>of(),
>                 AtlasTypeUtil.createRequiredAttrDef("name", "string"),
>                 AtlasTypeUtil.createOptionalAttrDef("address", "Address"),
>                 AtlasTypeUtil.createOptionalAttrDef("birthday", "date"),
>                 AtlasTypeUtil.createOptionalAttrDef("hasPets", "boolean"),
>                 AtlasTypeUtil.createOptionalAttrDef("numberOfCars", "byte"),
>                 AtlasTypeUtil.createOptionalAttrDef("houseNumber", "short"),
>                 AtlasTypeUtil.createOptionalAttrDef("carMileage", "int"),
>                 AtlasTypeUtil.createOptionalAttrDef("age", "float"),
> "
> For the parent child relationships with glossary categories and terms we 
> should be able to have the type system manage edge deletion. As part of this, 
> we will need to investigate whether we could get rid of the disconnect and 
> connect methods added in ATLAS-1186 
>  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to