{"action":"created","comment":{"url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/comments/147506342","pull_request_review_id":72614045,"id":147506342,"diff_hunk":"@@ -0,0 +1,159 @@\n+.. _conduce-entities:\n+\n+================\n+Conduce Entities\n+================\n+\n+.. note:: WIP\n+\n+Conduce uses a concept called entity to define objects that exist in space and time.  An entity can exist for an instant or across a time span.  It can describe a point in space, a path (sequence of points), or a region (polygon).  An entity is defined by a series of samples that describe it's location in space over a period of time.  An entity also has attributes that describe it's characteristics. An entity's attributes can change over time.\n+\n+-----------------\n+Creating entities\n+-----------------\n+\n+An entity is a series of samples that describe the state of and object over a period of time.  A sample is the representation of an entity's momentary state.  Samples are created from user data.  The data should describe people or things that exist in some location during some time span.  Data can be ingested from static files with thousands of records or real-time streams that provide state updates in real-time.  As an example we'll ingest the following real-time shipment data into an existing dataset named ``shipments``:\n+\n+.. list-table:: Source data: real-time shipment status\n+   :header-rows: 1\n+   :widths: auto\n+\n+   * - ID\n+     - Method\n+     - Date\n+     - Latitude\n+     - Longitude\n+     - Value\n+     - Status \n+   * - 1\n+     - ground\n+     - 2017-10-24T10:22:09+00:00\n+     - 37.952861\n+     - -91.922607\n+     - $102,325.26\n+     - transit\n+   * - 2\n+     - air\n+     - 2017-10-24T10:22:11+00:00\n+     - 38.289937\n+     - -100.107422\n+     - $3,216,757.84\n+     - transit\n+   * - 3\n+     - ground\n+     - 2017-10-24T10:22:08+00:00\n+     - 40.354917\n+     - -89.104614\n+     - $204,694.41\n+     - processing\n+   * - 4\n+     - air\n+     - 2017-10-24T10:22:06+00:00\n+     - 35.85344\n+     - -115.993652\n+     - $102,325.26\n+     - transit\n+   * - 5\n+     - freight\n+     - 2017-10-24T10:22:18+00:00\n+     - 25.029996\n+     - -134.318848\n+     - $1,431,873,345.01\n+     - transit\n+\n+The data in this table represents the present location of 5 shipments.  Each shipment has an ID, a shipping method, a date when it was last updated and a location in geographic coordinates.  Additionally the current state and value of the shipment is documented.  A Conduce entity is able to capture and represent all of this information.  These data records will be ingested as the first samples of 5 unique entities of the ``shipments`` dataset.\n+\n+An entity sample requires four fields:\n+ **id**\n+     a unique string that represents a specific object that exists.","path":"doc/source/conduce-entities.rst","position":68,"original_position":68,"commit_id":"b5da460603cde434848cda07924b3f46042d9baf","original_commit_id":"b5da460603cde434848cda07924b3f46042d9baf","user":{"login":"clawconduce","id":15661569,"avatar_url":"https://avatars1.githubusercontent.com/u/15661569?v=4","gravatar_id":"","url":"https://api.github.com/users/clawconduce","html_url":"https://github.com/clawconduce","followers_url":"https://api.github.com/users/clawconduce/followers","following_url":"https://api.github.com/users/clawconduce/following{/other_user}","gists_url":"https://api.github.com/users/clawconduce/gists{/gist_id}","starred_url":"https://api.github.com/users/clawconduce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clawconduce/subscriptions","organizations_url":"https://api.github.com/users/clawconduce/orgs","repos_url":"https://api.github.com/users/clawconduce/repos","events_url":"https://api.github.com/users/clawconduce/events{/privacy}","received_events_url":"https://api.github.com/users/clawconduce/received_events","type":"User","site_admin":false},"body":"In general, I think it should be clearer that an entity = ID.  So all the samples for a given entity point to the same ID.\r\n\r\nRight here, I'd say \"a unique string that represents a specific ~object~ entity that exists\".","created_at":"2017-10-27T20:12:04Z","updated_at":"2017-10-27T20:28:08Z","html_url":"https://github.com/ConduceInc/conduce-python-api/pull/43#discussion_r147506342","pull_request_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/comments/147506342"},"html":{"href":"https://github.com/ConduceInc/conduce-python-api/pull/43#discussion_r147506342"},"pull_request":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43"}}},"pull_request":{"url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43","id":149195076,"html_url":"https://github.com/ConduceInc/conduce-python-api/pull/43","diff_url":"https://github.com/ConduceInc/conduce-python-api/pull/43.diff","patch_url":"https://github.com/ConduceInc/conduce-python-api/pull/43.patch","issue_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/43","number":43,"state":"open","locked":false,"title":"Documentation","user":{"login":"konvulse","id":16244793,"avatar_url":"https://avatars1.githubusercontent.com/u/16244793?v=4","gravatar_id":"","url":"https://api.github.com/users/konvulse","html_url":"https://github.com/konvulse","followers_url":"https://api.github.com/users/konvulse/followers","following_url":"https://api.github.com/users/konvulse/following{/other_user}","gists_url":"https://api.github.com/users/konvulse/gists{/gist_id}","starred_url":"https://api.github.com/users/konvulse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/konvulse/subscriptions","organizations_url":"https://api.github.com/users/konvulse/orgs","repos_url":"https://api.github.com/users/konvulse/repos","events_url":"https://api.github.com/users/konvulse/events{/privacy}","received_events_url":"https://api.github.com/users/konvulse/received_events","type":"User","site_admin":false},"body":"Added ingest documentation.\r\n\r\nI think it is time to baseline this work in order to move forward with API changes that sync to the documentation.","created_at":"2017-10-27T13:52:42Z","updated_at":"2017-10-27T20:28:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"30e63defdca5c0ee899d13ef4a72edb08e07e1d0","assignee":null,"assignees":[],"requested_reviewers":[{"login":"jrmConduce","id":16122467,"avatar_url":"https://avatars3.githubusercontent.com/u/16122467?v=4","gravatar_id":"","url":"https://api.github.com/users/jrmConduce","html_url":"https://github.com/jrmConduce","followers_url":"https://api.github.com/users/jrmConduce/followers","following_url":"https://api.github.com/users/jrmConduce/following{/other_user}","gists_url":"https://api.github.com/users/jrmConduce/gists{/gist_id}","starred_url":"https://api.github.com/users/jrmConduce/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrmConduce/subscriptions","organizations_url":"https://api.github.com/users/jrmConduce/orgs","repos_url":"https://api.github.com/users/jrmConduce/repos","events_url":"https://api.github.com/users/jrmConduce/events{/privacy}","received_events_url":"https://api.github.com/users/jrmConduce/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43/commits","review_comments_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43/comments","review_comment_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/43/comments","statuses_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/statuses/b5da460603cde434848cda07924b3f46042d9baf","head":{"label":"ConduceInc:feature/docs","ref":"feature/docs","sha":"b5da460603cde434848cda07924b3f46042d9baf","user":{"login":"ConduceInc","id":10524871,"avatar_url":"https://avatars0.githubusercontent.com/u/10524871?v=4","gravatar_id":"","url":"https://api.github.com/users/ConduceInc","html_url":"https://github.com/ConduceInc","followers_url":"https://api.github.com/users/ConduceInc/followers","following_url":"https://api.github.com/users/ConduceInc/following{/other_user}","gists_url":"https://api.github.com/users/ConduceInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ConduceInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConduceInc/subscriptions","organizations_url":"https://api.github.com/users/ConduceInc/orgs","repos_url":"https://api.github.com/users/ConduceInc/repos","events_url":"https://api.github.com/users/ConduceInc/events{/privacy}","received_events_url":"https://api.github.com/users/ConduceInc/received_events","type":"Organization","site_admin":false},"repo":{"id":86701886,"name":"conduce-python-api","full_name":"ConduceInc/conduce-python-api","owner":{"login":"ConduceInc","id":10524871,"avatar_url":"https://avatars0.githubusercontent.com/u/10524871?v=4","gravatar_id":"","url":"https://api.github.com/users/ConduceInc","html_url":"https://github.com/ConduceInc","followers_url":"https://api.github.com/users/ConduceInc/followers","following_url":"https://api.github.com/users/ConduceInc/following{/other_user}","gists_url":"https://api.github.com/users/ConduceInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ConduceInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConduceInc/subscriptions","organizations_url":"https://api.github.com/users/ConduceInc/orgs","repos_url":"https://api.github.com/users/ConduceInc/repos","events_url":"https://api.github.com/users/ConduceInc/events{/privacy}","received_events_url":"https://api.github.com/users/ConduceInc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ConduceInc/conduce-python-api","description":"Python implementation of Conduce REST API","fork":false,"url":"https://api.github.com/repos/ConduceInc/conduce-python-api","forks_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/forks","keys_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/teams","hooks_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/hooks","issue_events_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/events{/number}","events_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/events","assignees_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/assignees{/user}","branches_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/branches{/branch}","tags_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/tags","blobs_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/refs{/sha}","trees_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/statuses/{sha}","languages_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/languages","stargazers_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/stargazers","contributors_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/contributors","subscribers_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/subscribers","subscription_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/subscription","commits_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/commits{/sha}","git_commits_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/commits{/sha}","comments_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/comments{/number}","issue_comment_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/comments{/number}","contents_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/contents/{+path}","compare_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/merges","archive_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/downloads","issues_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues{/number}","pulls_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls{/number}","milestones_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/milestones{/number}","notifications_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/labels{/name}","releases_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/releases{/id}","deployments_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/deployments","created_at":"2017-03-30T12:48:47Z","updated_at":"2017-03-30T12:57:03Z","pushed_at":"2017-10-27T18:57:35Z","git_url":"git://github.com/ConduceInc/conduce-python-api.git","ssh_url":"git@github.com:ConduceInc/conduce-python-api.git","clone_url":"https://github.com/ConduceInc/conduce-python-api.git","svn_url":"https://github.com/ConduceInc/conduce-python-api","homepage":null,"size":145,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"ConduceInc:master","ref":"master","sha":"9d9049cdf4d2be9e86abe12aff229136882294c2","user":{"login":"ConduceInc","id":10524871,"avatar_url":"https://avatars0.githubusercontent.com/u/10524871?v=4","gravatar_id":"","url":"https://api.github.com/users/ConduceInc","html_url":"https://github.com/ConduceInc","followers_url":"https://api.github.com/users/ConduceInc/followers","following_url":"https://api.github.com/users/ConduceInc/following{/other_user}","gists_url":"https://api.github.com/users/ConduceInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ConduceInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConduceInc/subscriptions","organizations_url":"https://api.github.com/users/ConduceInc/orgs","repos_url":"https://api.github.com/users/ConduceInc/repos","events_url":"https://api.github.com/users/ConduceInc/events{/privacy}","received_events_url":"https://api.github.com/users/ConduceInc/received_events","type":"Organization","site_admin":false},"repo":{"id":86701886,"name":"conduce-python-api","full_name":"ConduceInc/conduce-python-api","owner":{"login":"ConduceInc","id":10524871,"avatar_url":"https://avatars0.githubusercontent.com/u/10524871?v=4","gravatar_id":"","url":"https://api.github.com/users/ConduceInc","html_url":"https://github.com/ConduceInc","followers_url":"https://api.github.com/users/ConduceInc/followers","following_url":"https://api.github.com/users/ConduceInc/following{/other_user}","gists_url":"https://api.github.com/users/ConduceInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ConduceInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ConduceInc/subscriptions","organizations_url":"https://api.github.com/users/ConduceInc/orgs","repos_url":"https://api.github.com/users/ConduceInc/repos","events_url":"https://api.github.com/users/ConduceInc/events{/privacy}","received_events_url":"https://api.github.com/users/ConduceInc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ConduceInc/conduce-python-api","description":"Python implementation of Conduce REST API","fork":false,"url":"https://api.github.com/repos/ConduceInc/conduce-python-api","forks_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/forks","keys_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/teams","hooks_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/hooks","issue_events_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/events{/number}","events_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/events","assignees_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/assignees{/user}","branches_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/branches{/branch}","tags_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/tags","blobs_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/refs{/sha}","trees_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/statuses/{sha}","languages_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/languages","stargazers_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/stargazers","contributors_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/contributors","subscribers_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/subscribers","subscription_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/subscription","commits_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/commits{/sha}","git_commits_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/git/commits{/sha}","comments_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/comments{/number}","issue_comment_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/comments{/number}","contents_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/contents/{+path}","compare_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/merges","archive_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/downloads","issues_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues{/number}","pulls_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls{/number}","milestones_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/milestones{/number}","notifications_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/labels{/name}","releases_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/releases{/id}","deployments_url":"https://api.github.com/repos/ConduceInc/conduce-python-api/deployments","created_at":"2017-03-30T12:48:47Z","updated_at":"2017-03-30T12:57:03Z","pushed_at":"2017-10-27T18:57:35Z","git_url":"git://github.com/ConduceInc/conduce-python-api.git","ssh_url":"git@github.com:ConduceInc/conduce-python-api.git","clone_url":"https://github.com/ConduceInc/conduce-python-api.git","svn_url":"https://github.com/ConduceInc/conduce-python-api","homepage":null,"size":145,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43"},"html":{"href":"https://github.com/ConduceInc/conduce-python-api/pull/43"},"issue":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/43"},"comments":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/issues/43/comments"},"review_comments":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43/comments"},"review_comment":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/pulls/43/commits"},"statuses":{"href":"https://api.github.com/repos/ConduceInc/conduce-python-api/statuses/b5da460603cde434848cda07924b3f46042d9baf"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"clawconduce"}}