| <!DOCTYPE html> | 
 | <!-- | 
 |  | Generated by Apache Maven Doxia at 2015-07-09 | 
 |  | Rendered using Apache Maven Fluido Skin 1.3.0 | 
 | --> | 
 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | 
 |   <head> | 
 |     <meta charset="UTF-8" /> | 
 |     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | 
 |     <meta name="Date-Revision-yyyymmdd" content="20150709" /> | 
 |     <meta http-equiv="Content-Language" content="en" /> | 
 |     <title>Metadata and Governance - Type System</title> | 
 |     <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> | 
 |     <link rel="stylesheet" href="./css/site.css" /> | 
 |     <link rel="stylesheet" href="./css/print.css" media="print" /> | 
 |  | 
 |        | 
 |     <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script> | 
 |  | 
 |                            | 
 |          | 
 | <script type="text/javascript">$( document ).ready( function() { $( '.carousel' ).carousel( { interval: 3500 } ) } );</script> | 
 |            | 
 |             </head> | 
 |         <body class="topBarEnabled"> | 
 |            | 
 |                          | 
 |                      | 
 |                  | 
 |  | 
 |     <div id="topbar" class="navbar navbar-fixed-top "> | 
 |       <div class="navbar-inner"> | 
 |                                   <div class="container" style="width: 68%;"><div class="nav-collapse"> | 
 |              | 
 |                  | 
 |                                 <ul class="nav"> | 
 |                           <li class="dropdown"> | 
 |         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Atlas <b class="caret"></b></a> | 
 |         <ul class="dropdown-menu"> | 
 |          | 
 |                       <li>      <a href="index.html"  title="About">About</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS"  title="Wiki">Wiki</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS"  title="News">News</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="https://git-wip-us.apache.org/repos/asf/incubator-atlas.git"  title="Git">Git</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="https://svn.apache.org/repos/asf/incubator/atlas"  title="Svn">Svn</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="https://issues.apache.org/jira/browse/ATLAS"  title="Jira">Jira</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS/PoweredBy"  title="Powered by">Powered by</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="http://blogs.apache.org/atlas/"  title="Blog">Blog</a> | 
 | </li> | 
 |                           </ul> | 
 |       </li> | 
 |                 <li class="dropdown"> | 
 |         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a> | 
 |         <ul class="dropdown-menu"> | 
 |          | 
 |                       <li>      <a href="project-info.html"  title="Summary">Summary</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="http://webchat.freenode.net?channels=apacheatlas&uio=d4"  title="IRC">IRC</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="team-list.html"  title="Team">Team</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="license.html"  title="License">License</a> | 
 | </li> | 
 |                           </ul> | 
 |       </li> | 
 |                 <li class="dropdown"> | 
 |         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a> | 
 |         <ul class="dropdown-menu"> | 
 |          | 
 |                       <li>      <a href="https://cwiki.apache.org/confluence/display/ATLAS"  title="Coming soon">Coming soon</a> | 
 | </li> | 
 |                           </ul> | 
 |       </li> | 
 |                 <li class="dropdown"> | 
 |         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a> | 
 |         <ul class="dropdown-menu"> | 
 |          | 
 |                       <li>      <a href="index.html"  title="current">current</a> | 
 | </li> | 
 |                           </ul> | 
 |       </li> | 
 |                 <li class="dropdown"> | 
 |         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Resources <b class="caret"></b></a> | 
 |         <ul class="dropdown-menu"> | 
 |          | 
 |                       <li>      <a href="index.html"  title="Overview">Overview</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="QuickStart.html"  title="Getting Started">Getting Started</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="Architecture.html"  title="Architecture">Architecture</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="InstallationSteps.html"  title="Installation">Installation</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="TypeSystem.html"  title="Type System">Type System</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="Configuration.html"  title="Configuration">Configuration</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="Security.html"  title="Security">Security</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="api/rest.html"  title="Rest API">Rest API</a> | 
 | </li> | 
 |                           </ul> | 
 |       </li> | 
 |                 <li class="dropdown"> | 
 |         <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a> | 
 |         <ul class="dropdown-menu"> | 
 |          | 
 |                       <li>      <a href="http://www.apache.org/foundation/how-it-works.html"  title="How Apache Works">How Apache Works</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="http://www.apache.org/foundation/"  title="Foundation">Foundation</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="http://www.apache.org/foundation/sponsorship.html"  title="Sponsoring Apache">Sponsoring Apache</a> | 
 | </li> | 
 |                    | 
 |                       <li>      <a href="http://www.apache.org/foundation/thanks.html"  title="Thanks">Thanks</a> | 
 | </li> | 
 |                           </ul> | 
 |       </li> | 
 |                   </ul> | 
 |            | 
 |                       <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" > | 
 |      | 
 |   <input value="http://atlas.incubator.apache.org" name="sitesearch" type="hidden"/> | 
 |   <input class="search-query" name="q" id="query" type="text" /> | 
 | </form> | 
 | <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script> | 
 |            | 
 |                              | 
 |              | 
 |              | 
 |              | 
 |     <iframe src="http://www.facebook.com/plugins/like.php?href=http://atlas.incubator.apache.org/atlas-docs&send=false&layout=button_count&show-faces=false&action=like&colorscheme=dark" | 
 |         scrolling="no" frameborder="0" | 
 |         style="border:none; width:80px; height:20px; margin-top: 10px;"  class="pull-right" ></iframe> | 
 |                          | 
 |     <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> | 
 |  | 
 |         <ul class="nav pull-right"><li style="margin-top: 10px;"> | 
 |      | 
 |     <div class="g-plusone" data-href="http://atlas.incubator.apache.org/atlas-docs" data-size="medium"  width="60px" align="right" ></div> | 
 |  | 
 |         </li></ul> | 
 |                                | 
 |                     | 
 |                       </div> | 
 |            | 
 |         </div> | 
 |       </div> | 
 |     </div> | 
 |      | 
 |         <div class="container"> | 
 |           <div id="banner"> | 
 |         <div class="pull-left"> | 
 |                                                   <a href=".." id="bannerLeft"> | 
 |                                                                                                 <img src="images/atlas-logo.png"  alt="Apache Atlas" width="200px" height="45px"/> | 
 |                 </a> | 
 |                       </div> | 
 |         <div class="pull-right">                  <a href="http://incubator.apache.org" id="bannerRight"> | 
 |                                                                                                 <img src="images/apache-incubator-logo.png"  alt="Apache Incubator"/> | 
 |                 </a> | 
 |       </div> | 
 |         <div class="clear"><hr/></div> | 
 |       </div> | 
 |  | 
 |       <div id="breadcrumbs"> | 
 |         <ul class="breadcrumb"> | 
 |                  | 
 |                      | 
 |                               <li class=""> | 
 |                     <a href="http://www.apache.org" class="externalLink" title="Apache"> | 
 |         Apache</a> | 
 |         </li> | 
 |       <li class="divider ">/</li> | 
 |             <li class=""> | 
 |                     <a href="index.html" title="Atlas"> | 
 |         Atlas</a> | 
 |         </li> | 
 |       <li class="divider ">/</li> | 
 |         <li class="">Type System</li> | 
 |          | 
 |                  | 
 |                      | 
 |                   <li id="publishDate" class="pull-right">Last Published: 2015-07-09</li> <li class="divider pull-right">|</li> | 
 |               <li id="projectVersion" class="pull-right">Version: 0.5-incubating</li> | 
 |              | 
 |                             </ul> | 
 |       </div> | 
 |  | 
 |        | 
 |                          | 
 |         <div id="bodyColumn" > | 
 |                                    | 
 |             <div class="section"> | 
 | <h2>Type System<a name="Type_System"></a></h2></div> | 
 | <div class="section"> | 
 | <h3>Introduction<a name="Introduction"></a></h3></div> | 
 | <div class="section"> | 
 | <h3>Overview<a name="Overview"></a></h3></div> | 
 | <div class="section"> | 
 | <h4>Data Types Overview<a name="Data_Types_Overview"></a></h4> | 
 | <p><img src="data-types.png" alt="" /></p></div> | 
 | <div class="section"> | 
 | <h4>Types Instances Overview<a name="Types_Instances_Overview"></a></h4> | 
 | <p><img src="types-instances.png" alt="" /></p></div> | 
 | <div class="section"> | 
 | <h3>Details<a name="Details"></a></h3> | 
 | <p>### Structs are like C structs - they don't have an identity - no independent lifecycle - like a bag of properties - like in hive, also</p> | 
 | <p>### Classes are classes - like any OO class - have identity - can have inheritence - can contain structs - don't necessarily need to use a struct inside the class to define props - can also define props using <a href="./AttributeDefinition.html">AttributeDefinition</a> using the basic data types - classes are immutable once created</p> | 
 | <p>### On search interface: - can search for all instances of a class - classes could become tables in a relational system, for instance 	- also databases, columns, etc.</p> | 
 | <p>### Traits is similar to scala - traits more like decorators (?) - traits get applied to instances - not classes 	- this satisfies the classification mechanism (ish) - can have a class instance have any number of traits - e.g. security clearance - any Person class could have it; so we add it as a mixin to the Person class 	- security clearance trait has a level attribute 	- traits are labels 	- each label can have its own attribute - reason for doing this is: 	- modeled security clearance trait 	- want to prescribe it to other things, too 	- can now search for anything that has security clearance level = 1, for instance</p> | 
 | <p>### On Instances: - class, trait, struct all have bags of attributes - can get name of type associated with attribute - can get or set the attribute in that bag for each instance</p> | 
 | <p>### On Classification: - create column as a class - create a trait to classify as "PHI" - would create the instance of the column with the PHI trait - apply traits to instances - CAN'T apply traits to class</p> | 
 | <p>### Other useful information</p> | 
 | <p><a href="./HierarchicalClassType.html">HierarchicalClassType</a> - base type for <a href="./ClassType.html">ClassType</a> and <a href="./TraitType.html">TraitType</a> Instances created from Definitions</p> | 
 | <p>Every instance is referenceable - i.e. something can point to it in the graph db <a href="./MetadataService.html">MetadataService</a> may not be used longterm - it is currently used for bootstrapping the repo & type system</p> | 
 | <p>Id class - represents the Id of an instance</p> | 
 | <p>When the web service receives an object graph, the <a href="./ObjectGraphWalker.html">ObjectGraphWalker</a> is used to update things 	- <a href="./DiscoverInstances.html">DiscoverInstances</a> is used to discover the instances in the object graph received by the web service</p> | 
 | <p><a href="./MapIds.html">MapIds</a> assigns new ids to the discovered instances in the object graph</p> | 
 | <p>Anything under the storage package is not part of the public interface</p></div> | 
 |                   </div> | 
 |           </div> | 
 |  | 
 |     <hr/> | 
 |  | 
 |     <footer> | 
 |             <div class="container"> | 
 |               <div class="row span12">Copyright ©                    2015 | 
 |                         <a href="http://www.apache.org">Apache Software Foundation</a>. | 
 |             All Rights Reserved.       | 
 |                      | 
 |       </div> | 
 |  | 
 |                            | 
 |                 <p id="poweredBy" class="pull-right"> | 
 |                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> | 
 |         <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> | 
 |       </a> | 
 |               </p> | 
 |          | 
 |                 </div> | 
 |     </footer> | 
 |   </body> | 
 | </html> |