Open SeemaSP opened 7 years ago
StatementRef objects are for referring to actual statements—person voided statement(ref), person evaluated statement(ref), and contain only the ID, since that uniquely identifies the statement they're pointing to. SubStatements are for more abstract situations—statements that haven't happened yet, for example—so they don't have IDs (or a few other things), but they have the rest of the statement. Right now they aren't being used as extensively as StatementRefs, but they've been used some to describe goals. Person assigned (student passed test), for example.
In the example Person assigned (student passed test), how can student passed test be an event that is about to happen when in the statement it has already happended(since its in past tense)?
Past tense in the natural language form of statements is just a convention; xAPI verbs don't have tense. The "passed" verb (same ID == same verb) could be given a display of "will pass" or "passes" or "needs to pass" in the SubStatement without changing the meaning
So just to confirm whether I have understood or not: If I have a statement called: Rachel wrote a paper(assuming she has already written it) and then I make a statement like: Teacher read the paper written by Rachel. Then I use statement ref. But if I have a case where a teacher can assign a set of possible grades to a student(just like your example), then I make a statement: Teacher can assign(Student has passed) or (Student has failed). Is my understanding of sub statement correct?
You can't have 'or' statements in sub-statements - it's a single statement.
The use case substatements were designed for is future plans. i.e. learner planned (learner will complete course).
I'm not aware of any actual usage of them in practice.
By 'or' I meant to say two statements i.e. Teacher can assign(Student has passed) Teacher can assign(Student has failed) But after having checked out the spec even more, I have some what understood what it means now. But based on the examples given above, was my understanding correct?
Statement reference objects have the uuid of an existing statement object and substatements have statement objects. Both seem to referring to a statement object. My question is what is the purpose of each as I am unable to understand it reading from the spec.