[ARVADOS] updated: 6562cb9dce40bee18424cab67b76b524f33e8c9a
git at public.curoverse.com
git at public.curoverse.com
Fri Jan 3 15:34:27 EST 2014
Summary of changes:
doc/api/schema/Link.textile | 74 ++++++++++++++++++++++++++++++++----------
doc/api/schema/Log.textile | 12 +++----
2 files changed, 61 insertions(+), 25 deletions(-)
via 6562cb9dce40bee18424cab67b76b524f33e8c9a (commit)
via 037ee894b89df08f855e08b701f20944ec17dcf7 (commit)
from 30c250473cd62b845acbec8a9af182410d572873 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 6562cb9dce40bee18424cab67b76b524f33e8c9a
Author: Tim Pierce <twp at curoverse.com>
Date: Fri Jan 3 15:32:37 2014 -0500
Document a convention for using Links to define tags on Collections.
diff --git a/doc/api/schema/Link.textile b/doc/api/schema/Link.textile
index ed8271d..6156414 100644
--- a/doc/api/schema/Link.textile
+++ b/doc/api/schema/Link.textile
@@ -8,12 +8,21 @@ navorder: 12
h1. Link
-Links encode connections between Arvados objects, and from objects to primitives. Each metadata object has a tail (subject), class, name, properties, and head (object or value).
+**Links** describe relationships between Arvados objects, and from
+objects to primitives.
-table(table table-bordered table-condensed).
-|tail (object)| _class, name_
-→
- _properties{}_ |head (object)|
+Links are directional: each metadata object has a tail (subject),
+class, name, properties, and head (object or value). A Link may
+describe a relationship between two objects in an Arvados database:
+e.g. a _permission_ link between a User and a Group defines the
+permissions that User has to read or modify the Group. Other Links
+simply represent metadata for a single object, e.g. the _identifier_
+Link, in which the _name_ property represents a human-readable
+identifier for the object at the link's head.
+
+For links that don't make sense to share between API clients, a
+_link_class_ that begins with @client@ (like @client.my_app_id@ or
+ at client.my_app_id.anythinghere@) should be used.
h2. Methods
@@ -39,20 +48,49 @@ h2. Link classes
Some classes are pre-defined by convention and have standard meanings attached to names.
+h3. provenance
+
table(table table-bordered table-condensed).
-|_. link_class|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
-|provenance|→Collection |provided → _collection uuid_
+|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
+|→Collection |provided → _collection uuid_
{url→http://example.com/foo.tgz, retrieved_at→1352616640.000}||
-|provenance|Job→Collection |provided → _collection uuid_||
-|provenance|Specimen→Collection|provided → _collection uuid_||
-|provenance|Human→Specimen |provided → _specimen uuid_||
-|provenance|Human→Collection |provided → _collection uuid_||
-|human_trait|Human→Trait |measured → _trait uuid_ {value→1.83, unit→metre, measured_at→1352616640.000}||
-|identifier|→Human |hu123456 → _human uuid_||
-|permission|User→Group |can_manage → _group uuid_|Writable only by a user who can_manage this group|
-|permission|User→Group |can_read → _group uuid_ |Writable only by a user who can_manage this group.
+|Job→Collection |provided → _collection uuid_||
+|Specimen→Collection|provided → _collection uuid_||
+|Human→Specimen |provided → _specimen uuid_||
+|Human→Collection |provided → _collection uuid_||
+
+h3. permission
+
+table(table table-bordered table-condensed).
+|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
+|User→Group |can_manage → _group uuid_|Writable only by a user who can_manage this group|
+|User→Group |can_read → _group uuid_ |Writable only by a user who can_manage this group.
Gives permission to read any object owned by this group.|
-|resources|User→Collection|wants → _collection uuid_ |Determines whether data can be deleted|
-|resources|User→Job |wants → _job uuid_ |Determines whether a job can be cancelled|
-For links that don't make sense to share between API clients, a link class like @client.my_app_id@ or @client.my_app_id.anythinghere@ should be used.
+h3. resources
+
+table(table table-bordered table-condensed).
+|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
+|User→Collection|wants → _collection uuid_ |Determines whether data can be deleted|
+|User→Job |wants → _job uuid_ |Determines whether a job can be cancelled|
+
+h3. tag
+
+A **tag** link is a keyword string that identifies a group of collections. A collection may be assigned multiple tags, and a tag will typically include many collections.
+
+table(table table-bordered table-condensed).
+|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
+|→Collection | _tag name_ → _collection uuid_||
+
+h3. human_trait
+
+table(table table-bordered table-condensed).
+|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
+|Human→Trait |measured → _trait uuid_ {value→1.83, unit→metre, measured_at→1352616640.000}||
+
+h3. identifier
+
+table(table table-bordered table-condensed).
+|_. tail_type→head_type|_. name→head_uuid {properties}|_. Notes|
+|→Human |hu123456 → _human uuid_||
+
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list