Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 7FA84200BDA for ; Tue, 13 Dec 2016 11:47:46 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 7E276160B23; Tue, 13 Dec 2016 10:47:46 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9E53E160B15 for ; Tue, 13 Dec 2016 11:47:45 +0100 (CET) Received: (qmail 61743 invoked by uid 500); 13 Dec 2016 10:47:44 -0000 Mailing-List: contact dev-help@atlas.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@atlas.incubator.apache.org Delivered-To: mailing list dev@atlas.incubator.apache.org Received: (qmail 61732 invoked by uid 99); 13 Dec 2016 10:47:44 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Dec 2016 10:47:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 24D73180233 for ; Tue, 13 Dec 2016 10:47:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.299 X-Spam-Level: * X-Spam-Status: No, score=1.299 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=2, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id B47HciilTtbf for ; Tue, 13 Dec 2016 10:47:41 +0000 (UTC) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 8FC195F1AE for ; Tue, 13 Dec 2016 10:47:40 +0000 (UTC) Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uBDAigeF038299 for ; Tue, 13 Dec 2016 05:47:39 -0500 Received: from e06smtp13.uk.ibm.com (e06smtp13.uk.ibm.com [195.75.94.109]) by mx0a-001b2d01.pphosted.com with ESMTP id 27acju1vxw-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Tue, 13 Dec 2016 05:47:38 -0500 Received: from localhost by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 13 Dec 2016 10:47:36 -0000 Received: from d06dlp02.portsmouth.uk.ibm.com (9.149.20.14) by e06smtp13.uk.ibm.com (192.168.101.143) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 13 Dec 2016 10:47:35 -0000 X-IBM-Helo: d06dlp02.portsmouth.uk.ibm.com X-IBM-MailFrom: david_radley@uk.ibm.com X-IBM-RcptTo: dev@atlas.incubator.apache.org Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 8471C2190023 for ; Tue, 13 Dec 2016 10:46:44 +0000 (GMT) Received: from d06av22.portsmouth.uk.ibm.com (d06av22.portsmouth.uk.ibm.com [9.149.105.58]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id uBDAlYpr8519974 for ; Tue, 13 Dec 2016 10:47:34 GMT Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4AE594C04A for ; Tue, 13 Dec 2016 09:45:48 +0000 (GMT) Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EA2F24C046 for ; Tue, 13 Dec 2016 09:45:47 +0000 (GMT) Received: from d50lp01.ny.us.ibm.com (unknown [146.89.104.207]) by d06av22.portsmouth.uk.ibm.com (Postfix) with ESMTPS for ; Tue, 13 Dec 2016 09:45:47 +0000 (GMT) Received: from localhost by d50lp01.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 13 Dec 2016 05:47:32 -0500 Received: from smtp.notes.na.collabserv.com (192.155.248.73) by d50lp01.ny.us.ibm.com (158.87.18.20) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128/128) Tue, 13 Dec 2016 05:47:30 -0500 Received: from localhost by smtp.notes.na.collabserv.com with smtp.notes.na.collabserv.com ESMTP for from ; Tue, 13 Dec 2016 10:47:29 -0000 Received: from us1a3-smtp02.a3.dal06.isc4sb.com (10.106.154.159) by smtp.notes.na.collabserv.com (10.106.227.90) with smtp.notes.na.collabserv.com ESMTP; Tue, 13 Dec 2016 10:47:28 -0000 Received: from us1a3-mail62.a3.dal09.isc4sb.com ([10.142.3.202]) by us1a3-smtp02.a3.dal06.isc4sb.com with ESMTP id 2016121310472755-95073 ; Tue, 13 Dec 2016 10:47:27 +0000 In-Reply-To: <1481595640719.37413@hortonworks.com> References: <1481595640719.37413@hortonworks.com> X-Disclaimed: 1086 To: Hemanth Yamijala Cc: dev@atlas.incubator.apache.org MIME-Version: 1.0 Subject: Re: Improvement suggestion: change terms to be implemented as entities X-KeepSent: 880E481E:7C09C5FB-00258088:003AB037; type=4; name=$KeepSent X-Mailer: IBM Notes Release 9.0.1EXT SHF692 April 27, 2016 From: David Radley Date: Tue, 13 Dec 2016 10:47:26 +0000 X-LLNOutbound: False X-TNEFEvaluated: 1 Content-Type: multipart/alternative; boundary="=_alternative 003B45EF80258088_=" x-cbid: 16121310-0012-0000-0000-000004A3D4F9 X-IBM-ISS-SpamDetectors: Score=0.417846; BY=0.274988; FL=0; FP=0; FZ=0; HX=0; KW=0; PH=0; SC=0.417846; ST=0; TS=0; UL=0; ISC= X-IBM-ISS-DetailInfo: BY=3.00006241; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000196; SDB=6.00793196; UDB=6.00384535; UTC=2016-12-13 10:47:29 x-cbparentid: 16121310-3108-0000-0000-0000022B75E7 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-12-13_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1609300000 definitions=main-1612130184 archived-at: Tue, 13 Dec 2016 10:47:46 -0000 --=_alternative 003B45EF80258088_= Content-Type: text/plain; charset="US-ASCII" Hi Hemanth, On point 10 - I suggest that all assets would have a "system" optional predefined multiplicity relationship to terms (which in this proposal will only be one type, so could be a standard entity to entity relationship). Does this work for you? I suggest on the tag / trait front - we move to clarify the language in the docs and APIs around these entities so there is no ambiguity, many thanks , David. From: Hemanth Yamijala To: "dev@atlas.incubator.apache.org" Date: 13/12/2016 02:21 Subject: Re: Improvement suggestion: change terms to be implemented as entities David, I hope folks who are more plugged into Atlas on a day-to-day basis will provide relevant feedback. I have a very few comments below. Regarding point 10: AFAIK, the most significant constraint of implementing terms as entities was that entity to entity relationships needed to be predefined, while tags / traits could be associated to any entity without this prior definition. Regarding point 7: Tags and traits are indeed interchangeable. In the Atlas UI specifically, we always refer to trait types as tags (which is confusing IMO, but well, that's where we are) Thanks hemanth ________________________________________ From: David Radley Sent: Monday, December 12, 2016 11:27 PM To: dev@atlas.incubator.apache.org Subject: Improvement suggestion: change terms to be implemented as entities Hi, I have raised Atlas Jiras 1254 an 1245. I would like your feedback on changing the implementation of business/glossary terms to be entities, rather than trait types and trait instances. This would mean: 1) A Term would have a guid for ATLAS-1245 2) TermResourceDefinition could be changed to add relationship projections, to support ATLAS-1254. I suggest we have "has a" , homonymns and antonyms as the relationships. - has-a relationships would allow us to associate a Hive table with one term and its columns with other column related terms. So we could then work with the the business glossary terms and it would be aware of the conceptual has-a relationship; rather than needing to interrogate the asset. Of course glossary terms could be associated using has-a relationships without being mapped to entities. - homonyms and antonyms are commonly used with business glossaries 3) We would not have a new trait type that would be created for every term - that cannot be deleted. Instead we would have 1 system type for term that all terms entities would be associated with. 4) We would need to ensure we could still support for available_as_tag for terms - this means we expose the term by name as a tag 5) I suggest we tolerate gets on the term using the the guid in the URI as well as the fully qualified name. Creation of new terms should create hrefs with the guid. 6) Term to term relationships would be simple in the code as we would use an entity to entity relationship. 7) I notice in the the Atlas technical user guide (page 60), talks of traits and tags terminology as being interchangable. In the code (apart from in the supplied trait types), it seems that traits are only used to implement terms, I guess because terms are often known by their name. Tags are somewhat different as they are used to interact with Ranger for tag based policies. 8) The Atlas technical user guide talks of 2 ways of categorizing entities , the business taxonomy and tags / traits. This change would be in line with the separation. 9) Having a guid for terms would allow us to rename the term without changing its identifier. I assume we should allow multiple terms of the same name in different taxonomies. 10) I think the reason that terms were implemented as trait instances as traits are identified by name so do not need guids and if a trait was an entity, a user could define a relationship to a term entity, which would be confusing. My suggestion is that if the user chooses to create a type with a relationship to a term, then we reject the creation of the type . At the moment they presumably could create a relationship to a taxonomy which we should also reject. 11) As part of these changes, I suggest that entities also contain a response field of terms. So it is more obvious to a REST client what the associated terms are with an entity. Please let me know if I have missed/misunderstood/misrepresented anything. I appreciate your feedback, as I hope to address these Jiras soon, many thanks , David. Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU --=_alternative 003B45EF80258088_=--