Exporting statements

Statements can be downloaded from Learning Record Store in a CSV format. xAPI statements are quite long, so you can specify which pieces of information you want to extract from your statements.

Creating a new export

Go to Source and use the query builder to filter which statements you want to include in your export:
Exporting_statements_1.gif
Once you're done building your query, click Export to CSV in the top right: 
Exporting_statements_2.gif
In the MANAGE tab, click on the drop-down menu. Select Add new, enter a name, and hit enter. If you’ve previously created a preset and want to export the same data again, you’ll be able to select the preset here:
Exporting_statements_3.gif

Selecting which parts of the statement you want to export

Edit the preset values to reflect what you want to be displayed in your CSV export.
mceclip0.png
The Column column indicates the name that will be given to each column in your CSV file.
The Source column dictates which section of the xAPI statements will be included in this column. You can edit the source by changing the text to indicate a different part of the statement. 

A statement is divided into sections. A new section begins when there is an indented line and it ends when there is another line of the same or a shorter indent. For example, everything in the orange box is contained in the statement section. Everything within the green box is in the authority section which is a subsection of the statement section.

When you enter text in the source column of the downloads page you’re telling it which section of your statement you want it to use. It’s essentially an address. E.g. statement.authority would tell it to export all the information within the green box. Each subsection becomes another dot in the address. For example, if you wanted to export the information in the blue box then you would put statement.authority.name

mceclip1.png

 

You can add new values by clicking the Add column button near the bottom-left of the list:

Exporting_statements_4.gif

 

Once you’re sure you have everything as you’d like it, click the Export button in the bottom-right. Learning Record Store will now generate your export:

Exporting_statements_5.gif

 

Click the HISTORY tab and you will see your new export at the top of the list. Click on it to download it. If you see a clock icon at the front of the export’s name, it means that your export is being generated. The page will automatically reload when it’s complete:


Exporting_statements_6.gif

 

Learning Record Store stores your previously generated CSV exports, so you can find them and re-download them from the HISTORY tab.

 

Sections of statements and their purposes

Source Example output Information
statement.version 1.0.0
The xAPI statement version. All LRS's must accept statements with a
version of 1.0.X
statement.id 8de3b4ef-5b8b-497d-b791-aa71593d627f
The ID stored in the database for the xAPI statement. Not to be confused
with _id which is the auto assigned ID for the statement.
statement.timestamp 2020-12-21T08:09:34.937Z The date and time for when the activity happened.
statement.stored 2020-12-21T08:09:34.937Z
The date and time for when the activity was stored in the LRS (timestamp
and stored are often slightly different).
statement.actor
"{
""mbox"": ""mailto:ian@example.com"",
""name"": ""Ian"",
""objectType"": ""Agent""
}"
The object that contains information related to the individual who took
the activity.
statement.actor.mbox mailto:ian@example.com The mbox value contained within the actor.
statement.actor.name Ian The name of the person contained within the actor object.
statement.verb
"{
""id"": ""http://adlnet.gov/expapi/
verbs/answered"",
""display"": {
""en-US"": ""answered""
}"
The xAPI verb that this statement refers to, as defined in the xAPI standard:
statement.verb.id
http://adlnet.gov/expapi/verbs/
answered
The ID for the verb. Where possible these should be sourced from the
standard set of vocabulary.
statement.verb.display.en-
US
answered
The display name used for searching for the verb. The language can be changed and can also be a list of languages. The language that matches the
browser lang will be read and displayed back to the end user.
statement.object
"{
""id"": ""http://adlnet.gov/expapi/
activities/example"",
""definition"": {
""name"": {
""en-US"": ""Example Activity""
},
""description"": {
""en-US"": ""Example activity
description""
}
},
""objectType"": ""Activity""
}"
The object that contains information related to the activity.
statement.object.id
http://adlnet.gov/expapi/activities/
example
The ID for the activity. Where possible these should be sourced from the
standard set of vocabulary.
statement.object.definition.
name.en-UK

Example Activity
The display name used for searching for the activity.
statement.object.
description
Example activity description
The description of the activity.
statement.result
"""result"": {
""completion"": true,
""response"": ""2"",
""score"": {
""scaled"": 0.25,
""raw"": 2,
""min"": 1,
""max"": 5
}
}"
The information contained in "result" varies. It could be whether the learner
has completed the related activity, it could be whether they got a question
correct or not, and it could be the actual answer that they gave to the
question. In statements from GS Learning content, the result contains the answers given
in question components.
statement.result.score
"{
""scaled"": 0.25,
""raw"": 2,
""min"": 1,
""max"": 5
}"
The score information related to an activity, The scaled is a percentage,
raw is the actual value, min and max are self explanatory. 
statement.authority
"{
""objectType"": ""Agent"",
""name"": ""New Client"",
""mbox"": ""mailto:hello@
learninglocker.net""
}"
The authority property provides information about whom or what has asserted that this statement is true. It must be in the format of an actor.
statement.context
statement.context.
contextActivities
statement.context.
contextActivities.grouping
statement.context.
contextActivities.parent
statement.context.
contextActivities.category
statement.context.
contextActivities.other

"{
""platform"": ""Curatr"",
""contextActivities"": {
""grouping"": [
{
""id"": ""https://ht2.curatr3.com"",
""definition"": {
""type"": ""http://curatr3.com/
define/type/organisation"",
""name"": {
""en-GB"": ""HT2Labs""
}
},
""objectType"": ""Activity""
}
]
}
}"
There are four valid context types. All, any or none of these MAY be used in a given Statement:
Parent: an Activity with a direct relation to the Activity which is the Object of the Statement. In almost all cases there is only one sensible parent or none, not multiple. For example: a Statement about a quiz question would have the quiz as its parent Activity.
Grouping: an Activity with an indirect relation to the Activity which is the Object of the Statement. For example: a course that is part of a qualification. The course has several classes. The course relates to a class as the parent, the qualification relates to the class as the grouping.
Category: an Activity used to categorize the Statement. ""Tags"" would be a synonym. Category SHOULD be used to indicate a profile of xAPI behaviors, as well as other categorizations. For example: Anna attempts a biology exam, and the Statement is tracked using the cmi5 profile. The Statement's Activity refers to the exam, and the category is the cmi5 profile.
Other: a context that doesn't fit one of the other properties. For example: Anna studies a textbook for a biology exam. The Statement's Activity refers to the textbook, and the exam is a contextActivity of type other."