Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
46e6d18d
Commit
46e6d18d
authored
Jan 07, 2015
by
Dan Markwat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added notes for call with Harish to better understand the Typesystem
parent
385adc5f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
0 deletions
+63
-0
notes.MD
typesystem/doc/notes.MD
+63
-0
No files found.
typesystem/doc/notes.MD
0 → 100644
View file @
46e6d18d
## Call with Harish on the initial typesystem naming conventions and intentions
### Structs are like C structs - they don't have an identity
-
no independent lifecycle
-
like a bag of properties
-
like in hive, also
### 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 AttributeDefinition using the basic data types
-
classes are immutable once created
### 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.
### 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
### 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
### 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
### Other useful information
HierarchicalClassType - base type for ClassType and TraitType
Instances created from Definitions
Every instance is referenceable - i.e. something can point to it in the graph db
MetadataService may not be used longterm - it is currently used for bootstrapping the repo & type system
Id class - represents the Id of an instance
When the web service receives an object graph, the ObjectGraphWalker is used to update things
-
DiscoverInstances is used to discover the instances in the object graph received by the web service
MapIds assigns new ids to the discovered instances in the object graph
Anything under the storage package is not part of the public interface
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment