Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xAPI Profiles 2.0 / Alignment to xAPI 2.0: Extra Profile Properties #277

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions xapi-profiles-communication.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* 2.1. [MUST / SHOULD / MAY](./xapi-profiles-about.md#def-must-should-may)
* 2.2. [Guidelines for Interpreting Descriptive Text and Tables](./xapi-profiles-about.md#interpret-text-table)
* 3.0. [Definitions](./xapi-profiles-about.md#definitions)
* Part Two: [xAPI Profiles Document Structure Specification](./xapi-profiles-structure.md#part-two)
* Part Two: [xAPI Profiles Document Structure Specification](./xapi-profiles-structure.md#part-two)
* 1.0. [Reference Specifications](./xapi-profiles-structure.md#ref-spec)
* 2.0. [Technical Foundations](./xapi-profiles-structure.md#tech-foundations)
* 3.0. [Structure](./xapi-profiles-structure.md#structure)
Expand All @@ -24,7 +24,7 @@
* 8.1. [Statement Template Rules](./xapi-profiles-structure.md#statement-template-rules)
* 9.0. [Patterns](./xapi-profiles-structure.md#patterns)
* 10.0. [The Context](./xapi-profiles-structure.md#context)
* Part Three: [xAPI Profiles Communication and Processing Specification](./xapi-profiles-communication.md#part-three)
* Part Three: [xAPI Profiles Communication and Processing Specification](./xapi-profiles-communication.md#part-three)
* 1.0. [Profile Server](./xapi-profiles-communication.md#prof-server)
* 1.1. [Profile Versions](./xapi-profiles-communication.md#prof-versions)
* 1.2. [Best Practices](./xapi-profiles-communication.md#best-practices)
Expand All @@ -48,14 +48,19 @@ implementing the algorithms.

## Authored Profiles

ADL maintains a [centralized public repository of authored xAPI profiles](https://github.com/adlnet/xapi-authored-profiles) based on this specification. The repository of profiles are imported and synchronized regularly into ADL's Profile Server, [http://xapi.vocab.pub](http://xapi.vocab.pub).
ADL maintains a [centralized public repository of authored xAPI profiles](https://github.com/adlnet/xapi-authored-profiles) based on this specification. The repository of profiles are imported and synchronized regularly into ADL's Profile Server, [http://xapi.vocab.pub](http://xapi.vocab.pub).

<a name="prof-server"></a>
## 1.0 Profile Server

A Profile Server manages xAPI Profiles from a centralized location. [An RDF triple store](https://en.wikipedia.org/wiki/Triplestore) is responsible for the storage of Profiles.
A Profile Server will allow administrators to add Profiles by their contents or by URI to the Profile Server

When storing an xAPI Profile:
* a Profile Server MUST NOT add any properties (not defined in this document) to the Profile
* a Profile Server MAY add JSON-LD keywords (or aliases thereof) to a Profile anywhere they are legal in JSON-LD
* a Profile Server MUST reject any Profiles that contain any properties not defined in this document (excluding correctly used JSON-LD keywords or aliases thereof)

ADL's Profile Server will host a SPARQL endpoint containing the RDF information from the
contained Profiles at the path /sparql (e.g., http://xapi.vocab.pub/sparql). This enables xAPI Profiles to be queried. SPARQL
servers have the ability to divide information into multiple datasets, or graphs, and
Expand Down Expand Up @@ -142,7 +147,7 @@ select
?prefLabel,
?definition
where {
(?concept a xapi:Verb || ?concept a xapi:ActivityType) .
(?concept a xapi:Verb || ?concept a xapi:ActivityType) .
?concept skos:inScheme <http://example.org/profiles/sports> ;
skos:prefLabel ?prefLabel ;
skos:definition ?definition .
Expand Down
6 changes: 3 additions & 3 deletions xapi-profiles-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* 2.1. [MUST / SHOULD / MAY](./xapi-profiles-about.md#def-must-should-may)
* 2.2. [Guidelines for Interpreting Descriptive Text and Tables](./xapi-profiles-about.md#interpret-text-table)
* 3.0. [Definitions](./xapi-profiles-about.md#definitions)
* Part Two: [xAPI Profiles Document Structure Specification](./xapi-profiles-structure.md#part-two)
* Part Two: [xAPI Profiles Document Structure Specification](./xapi-profiles-structure.md#part-two)
* 1.0. [Reference Specifications](./xapi-profiles-structure.md#ref-spec)
* 2.0. [Technical Foundations](./xapi-profiles-structure.md#tech-foundations)
* 3.0. [Structure](./xapi-profiles-structure.md#structure)
Expand All @@ -24,7 +24,7 @@
* 8.1. [Statement Template Rules](./xapi-profiles-structure.md#statement-template-rules)
* 9.0. [Patterns](./xapi-profiles-structure.md#patterns)
* 10.0. [The Context](./xapi-profiles-structure.md#context)
* Part Three: [xAPI Profiles Communication and Processing Specification](./xapi-profiles-communication.md#part-three)
* Part Three: [xAPI Profiles Communication and Processing Specification](./xapi-profiles-communication.md#part-three)
* 1.0. [Profile Server](./xapi-profiles-communication.md#prof-server)
* 1.1. [Profile Versions](./xapi-profiles-communication.md#prof-versions)
* 1.2. [Best Practices](./xapi-profiles-communication.md#best-practices)
Expand Down Expand Up @@ -71,8 +71,8 @@ To assist in accomplishing these two primary goals, Profiles also contain metada
* All properties in tables are required in all cases unless marked optional.
* Properties marked optional may be required in some situations. If no additional information is provided on the usage of an optional property, including it or not is entirely up to the Profile author.
* All properties that are not JSON-LD keywords (or aliases thereof) MUST expand to absolute IRIs during processing as defined in the JSON-LD specification.
* All properties that are not JSON-LD keywords (or aliases thereof) and not described by this specification MUST be expressed using compact IRIs or absolute IRIs.
* JSON-LD keywords (or aliases thereof) that are not specified as properties in this document MAY be included anywhere they are legal in JSON-LD.
* A Profile MUST only include properties defined in this document and JSON-LD keywords (or aliases thereof).
* Values in a Profile MUST NOT be: empty objects, null, empty strings, or empty arrays.
* All requirements on the structure of Profiles MUST be followed by Profile Authors.
* All requirements on Statements following Profiles MUST be followed by Learning Record Providers when authoring Statements and by Profile Validators when validating Statements.
Expand Down