[ https://issues.apache.org/jira/browse/ATLAS-1690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15967442#comment-15967442 ]
David Radley commented on ATLAS-1690: ------------------------------------- Thank you very much [~Stefhan] for the quick thorough feedback. REsoponding to you feedback in <<david >> tags : Page 1: • “Metadata stores store metadata” re-write this to “Metadata repository stores metadata” as it is less confusing. <<David agreed>> • Suggestion to replace ‘metadata entity’ with ‘metadata object’, as the term object is more generic. <<David agreed>> • “Relationships include when Glossary Terms are linked to each other, assets mapped to Glossary Terms and asset metadata linked together.” Are there types of relationships between metadata objects that are excluded from this scope? <<David Category to term, glossary to term, as we bring in classification schemes - there will be more relationships. I just wanted to give a flavor of the the relationships ) >> Page 2: • “As a 1 When this document refers to Glossary Term – it is referring to those described in Jira 1410. Page 2 of 9 Glossary Term is linked to an asset, we need to be aware that there are 3 owners, one for the Glossary Term one for the asset and one for the relationship. This document proposes a design that allows relationships to be considered in this way.” Does this state that we consider relationships as ‘first class citizens’? As such that the relationship between two objects becomes an object on its own, with a unique identifier and potentially additional metadata? <<David yes for the loose relationship case>> • “When this document refers to Glossary Term – it is referring to those described in Jira 1410.” This exact sentence was already mentioned as footnote on page 1. <<David good spot I will remove >> Page 5: - “Relationship constraints can have an attribute name and a reverse attribute name, but there is no label for the relationship itself – the relationship name.” What about synonym relationships? <<David I am thinking of handing these semantic relationships in the glossary document. My thoughts at the moment are that we would model all semantic relationships as bidirectional relationships in the type system. For synonyms, I wonder if we could have a many to many relationship specifying the glossary term synonym as both ends of the relationship - this is a great unit test case for this item! >> What would then be the attribute name and the reverse attribute name? <<David synonym>> - With regards to the Bidirectional relationships example. It would be: ‘A person has a home address’/’A home address is of a person’. The ‘has a’ / ‘is of’ are two directional relationships that would always need to be kept in sync. <<David So the has-a and is-of relationships are semantic - so not in this doc. I think we should model semantic relationships as bidirectional type relationships.so we would knot the 2 ends togetherin ot he one relationship. >> ‘A home address is a address’. A more accurate example of a bidirectional relationship would be ‘First name is synonym of Given name’ / ‘Given name is synonym of First name’ <<David I am thinking of these as other examples of bidirectional relationships>> - With regards of the styles of relationships, perhaps its good idea to adopt the terminology of: o Hierarchical relationships (inheritance) o Equivalence relationships (synonyms/is a) o Associative relationships (related to / loosely coupled) https://twobenches.wordpress.com/2008/06/04/semantic-relationships-in-a-thesaurus/ For inspiration see: Morville, Peter and Rosenfeld, Louis (2002) http://yunus.hacettepe.edu.tr/~tonta/courses/fall2010/bby607/IAWWW.pdf Page number 203, page 225, Definition ‘thesaurus’: A controlled vocabulary in which equivalence, hierarchical, and associative relationships are identified for purposes of improved retrieval.* * Guidelines for the Construction, Format, and Management of Monolingual Thesauri. ANSI/NISO Z39.19–1993 (R1998). See also Figure 9-12. Semantic relationships in a thesaurus (Page number 204, page 226). See also Semantic Relationships (page number 215, page 237) <<david - I see these as different sorts of semantic relationships. These are different to semantic classification, relationships around classification schemes and relationships between structural metadata. This document is concerned with the base structural metadata relationships - i.e. relationships the base types system is aware of. This is more of uml class diagram world of classes, objects and associations; so this document is talking of the uml style associations - this will be the foundation on which the other relationship types can be implemented. does this make sense?>> Page 7: - Delete functionality. This is crucial as it will allow to cope with changes in the metadata objects, and relationships provided by other metadata repositories (e.g. other atlas instances). - With regards to the discussion point on endpoints. Endpoints should not be updated / modified when working on relationships. The relationship should point to the object and subject identifier without impacting those objects in any way. A separate mechanism should be responsible for interpreting the relationships and if needed adjusting/updating the associated objects. E.g. collapsing the assigned classification into the subject or one of the endpoints of the subject (e.g. assigned information view). <<david - agreed - we are scoping this document to the base type system relationships>>. Page 9: - On ‘1 to 1 relationships’: I do not understand why this would be an issue, if you would define the relationship object independently of the endpoints. In that way, both endpoints need to exist (otherwise, you will not even be able to select them) before you can create the relationship. Only the relationship object will then be created pointing to the identifiers of both the subject and object. <<david but how can you create the 2 objects without the relationship being in place. To do this you would need to create all 3 at the same time - as creating any one of them by itself is invalid; or we need to tolerate an invalid state for a time. Am I missing something? We can to 1 to 1 optional relationships as you say. >> > Introduce top level relationships > --------------------------------- > > Key: ATLAS-1690 > URL: https://issues.apache.org/jira/browse/ATLAS-1690 > Project: Atlas > Issue Type: Improvement > Reporter: David Radley > Assignee: David Radley > Labels: VirtualDataConnector > Attachments: Atlas Relationships proposal v1.0.pdf > > > Introduce top level relationships including support for > -many to many relationships > - relationship names including the name for both ends and the relationship. -- This message was sent by Atlassian JIRA (v6.3.15#6346)