Data Models


Introduction

If you want to use the extended API or connectors such as Elasticsearch, you need to understand the data models behind TRAX LRS.

Statement

Property Description
id Internal database ID
uuid Statement UUID
data Statement JSON
voided Is the statement voided?
pending Is the statement waiting to be processed?
validation Validation status: 0 = unchecked, 1 = valid, -1 = not valid.
owner_id ID of the owner (i.e. the store) the data belongs to
entity_id ID of the entity the data belongs to
client_id ID of the client the data belongs to
access_id ID of the access the data came from
created_at Creation timestamp
updated_at Last update timestamp

Activity

Property Description
id Internal database ID
iri Activity IRI
data Activity JSON
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Agent

Property Description
id Internal database ID
vid Agent VID as defined at the end of this document
name Agent name
is_group Is it a group?
pseudonymized Is it a pseudonymized agent?
person_id ID of the person the agent refers to
pseudo_id ID of the matching pseudonymized agent
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Activity Profile

Property Description
id Internal database ID
profile_id ID of the profile as stated by xAPI (string)
activity_id ID of the activity as stated by xAPI (IRI)
data JSON object with 2 properties: type (MIME type) and content (data)
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Agent Profile

Property Description
id Internal database ID
profile_id ID of the profile as stated by xAPI (string)
vid Agent VID as defined at the end of this document
data JSON object with 2 properties: type (MIME type) and content (data)
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

State

Property Description
id Internal database ID
state_id ID of the state as stated by xAPI (string)
activity_id ID of the activity as stated by xAPI (IRI)
vid Agent VID as defined at the end of this document
registration Registration as stated by xAPI (UUID)
data JSON object with 2 properties: type (MIME type) and content (data)
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Attachment

Property Description
id Internal database ID
data Attachment JSON
owner_id ID of the owner (i.e. the store) the data belongs to
entity_id ID of the entity the data belongs to
client_id ID of the client the data belongs to
access_id ID of the access the data came from
created_at Creation timestamp
updated_at Last update timestamp

Person

Property Description
id Internal database ID
uuid Person UUID
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Verb

Property Description
id Internal database ID
iri Verb id as stated by xAPI (IRI)
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Activity Type

Property Description
id Internal database ID
iri Activity type as stated by xAPI (IRI)
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Statement Category

Property Description
id Internal database ID
iri Statement category id as stated by xAPI (IRI)
profile Is this category identified as an xAPI profile?
owner_id ID of the owner (i.e. the store) the data belongs to
created_at Creation timestamp
updated_at Last update timestamp

Agent VID

The VID (Virtual ID) is a string used as a unique identifier for xAPI Agents. It takes one of the following forms depending of the nature of the Agent:

  • mbox: mbox::mailto:agent@email.com
  • mbox_sha1sum: mbox_sha1sum::cd9b00a5611f94eaa7b166
  • openid: openid::http://openid.com/54546
  • account: account::name@http://homePage.com