@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://ns.inria.fr/ludo/v1/xapi#hasOpenID>
        a             owl:ObjectProperty ;
        rdfs:comment  "An openID that uniquely identifies the Agent."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InverseFunctionalIdentifier> ;
        rdfs:label    "Open ID"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasSource>
        a             owl:ObjectProperty ;
        rdfs:comment  "Array of interaction components"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Source"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> .

<http://ns.inria.fr/ludo/v1/xapi#hasInteractionComponentDescription>
        a             owl:ObjectProperty ;
        rdfs:comment  "A description of the interaction component (for example, the text for a given choice in a multiple-choice interaction)"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> ;
        rdfs:label    "Interaction Component Description"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> .

<http://ns.inria.fr/ludo/v1/xapi#Agent>
        a                owl:Class ;
        rdfs:comment     "An Agent (an individual) is a persona or system."@en ;
        rdfs:label       "Agent"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasSha1sum>
        a             owl:DatatypeProperty ;
        rdfs:comment  "The SHA1 hash of a mailto IRI (i.e. the value of an mbox property). An LRS MAY include Agents with a matching hash when a request is based on an mbox."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InverseFunctionalIdentifier> ;
        rdfs:label    "Mbox SHA1"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasRaw>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Decimal number between min and max (if present, otherwise unrestricted), inclusive."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Score> ;
        rdfs:label    "Raw"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#decimal> .

<http://ns.inria.fr/ludo/v1/xapi#hasMax>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Decimal number greater than min (if present). Cf. ‘cmi.score.max’"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Score> ;
        rdfs:label    "Max"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#decimal> .

<http://ns.inria.fr/ludo/v1/xapi#hasObjectType>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Can be an Activity, Agent, Group, Statement or SubStatemen" ;
        rdfs:label    "Object Type"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#Statement>
        a                owl:Class ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Attachment>
        a                owl:Class ;
        rdfs:comment     "A digital artifact providing evidence of a learning experience."@en ;
        rdfs:label       "Attachment"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasPlatform>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Platform used in the experience of this learning activity."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Platform"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasDescription>
        a             owl:ObjectProperty ;
        rdfs:comment  "Description of the attachment" ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Attachment> ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> .

<http://ns.inria.fr/ludo/v1/xapi#xAPI>
        a                owl:Class ;
        rdfs:comment     "The API defined in this document, the product of \"Project Tin Can\". A simple, lightweight way for any permitted Actor to store and retrieve extensible learning records, learner and learning experience profiles, regardless of platform."@en ;
        rdfs:label       "Experience API"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasContentType>
        a             owl:DatatypeProperty ;
        rdfs:comment  "The content type of the attachment. https://www.ietf.org/rfc/rfc2046.txt?number=2046"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Attachment> ;
        rdfs:label    "Content type"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasActivityDefinitionName>
        a             owl:ObjectProperty ;
        rdfs:comment  "The human readable visual name of the Activity"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#ActivityDefinition> ;
        rdfs:label    "Activity Definition Name"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> .

<http://ns.inria.fr/ludo/v1/xapi#hasTimeStamp>
        a            owl:DatatypeProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label   "Time stamp"@en ;
        rdfs:range   <http://www.w3.org/2001/XMLSchema#dateTime> .

<http://ns.inria.fr/ludo/v1/xapi#hasExtension>
        a             owl:ObjectProperty ;
        rdfs:comment  "A map of other properties as needed."@en ;
        rdfs:label    "Extension"@en .

<http://ns.inria.fr/ludo/v1/xapi#LMS>
        a                owl:Class ;
        rdfs:comment     "A software package used to administer one or more courses to one or more learners. An LMS is typically a web-based system that allows learners to authenticate themselves, register for courses, complete courses and take assessments"@en ;
        rdfs:label       "Learning Management System"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Immutable>
        a                owl:Class ;
        rdfs:comment     "Adjective used to describe things which cannot be changed. With some exceptions, Statements in the xAPI are immutable. This ensures that when Statements are shared between LRSs, multiple copies of the Statement remain the same."@en ;
        rdfs:label       "Immutable"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasInteractionCorrectResponsesPattern>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Corresponds to \"cmi.interactions.n.correct_responses.n.pattern\" as defined in the SCORM 2004 4th Edition Run-Time Environment, where the final n is the index of the array."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Correct Responses Pattern"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasTeam>
        a             owl:ObjectProperty ;
        rdfs:comment  "Team that this Statement relates to, if not included as the Actor of the Statement."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Team"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Group> .

<http://ns.inria.fr/ludo/v1/xapi#Context>
        a                owl:Class ;
        rdfs:comment     "An optional field that provides a place to add contextual information to a Statement. All properties are optional."@en ;
        rdfs:label       "Context"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#TinCanAPI>
        a                owl:Class ;
        rdfs:comment     "The previous name of the API defined in this document, often used in informal references to the Experience API."@en ;
        rdfs:label       "TIN CAN API"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasUrl>
        a             owl:ObjectProperty ;
        rdfs:comment  "An IRL at which the attachment data may be retrieved, or from which it used  to be retrievable."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Attachment> ;
        rdfs:label    "File URL"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasAccountName>
        a             owl:DatatypeProperty ;
        rdfs:comment  "The unique id or name used to log in to this account. This is based on FOAF’s accountName."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Account> ;
        rdfs:label    "Account Name"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasVerb>
        a             owl:ObjectProperty ;
        rdfs:comment  "Action of the Learner or Team Object. Represents the \"Did\" in \"I Did This\"."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label    "Verb"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Verb> .

<http://ns.inria.fr/ludo/v1/xapi#hasMin>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Decimal number less than max (if present)"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Score> ;
        rdfs:label    "Min"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#decimal> .

<http://ns.inria.fr/ludo/v1/xapi#hasStoredTime>
        a            owl:DatatypeProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label   "Stored time"@en ;
        rdfs:range   <http://www.w3.org/2001/XMLSchema#dateTime> .

<http://ns.inria.fr/ludo/v1/xapi#Object>
        a                owl:Class ;
        rdfs:comment     "The Object of a Statement can be an Activity, Agent/Group, Sub-Statement, or Statement Reference. It is the \"this\" part of the Statement, i.e. \"I did this\"."@en ;
        rdfs:label       "Object"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasHomePage>
        a             owl:ObjectProperty ;
        rdfs:comment  "The canonical home page for the system the account is on. This is based on FOAF’s accountServiceHomePage."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Account> ;
        rdfs:label    "Home page"@en .

<http://ns.inria.fr/ludo/v1/xapi#CommunityOfPractice>
        a                owl:Class ;
        rdfs:comment     "A group, usually connected by a common cause, role or purpose, which operates in a common modality."@en ;
        rdfs:label       "Community of Practice"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasActivityDefinitionType>
        a             owl:ObjectProperty ;
        rdfs:comment  "The type of Activity."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#ActivityDefinition> ;
        rdfs:label    "Activity Definition Type"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasInteractionComponentID>
        a             owl:DatatypeProperty ;
        rdfs:comment  "A value such as used in practice for \"cmi.interactions.n.id\" as defined in the SCORM 2004 4th Edition Run-Time Environment"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> ;
        rdfs:label    "Interaction Component ID"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#IRL>
        a                owl:Class ;
        rdfs:comment     "In the context of this document, an IRL is an IRI that when translated into a URI (per the IRI to URI rules), is a URL. Some communities of practice simply use URL even if they use IRIs, which isn't as technically correct within xAPI."@en ;
        rdfs:label       "International Resource Locator"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Group>
        a                owl:Class ;
        rdfs:comment     "A Group represents a collection of Agents and can be used in most of the same situations an Agent can be used. There are two types of Groups, anonymous and identified."@en ;
        rdfs:label       "Group"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasContext>
        a             owl:ObjectProperty ;
        rdfs:comment  "An optional field that provides a place to add contextual information to a Statement. All properties are optional."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label    "Context"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Context> .

<http://ns.inria.fr/ludo/v1/xapi#hasLength>
        a             owl:DatatypeProperty ;
        rdfs:comment  "The length of the attachment data in octets."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Attachment> ;
        rdfs:label    "Length"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#integer> .

<http://ns.inria.fr/ludo/v1/xapi#hasActor>
        a             owl:ObjectProperty ;
        rdfs:comment  "An mandatory Agent or Group Object" ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label    "Actor"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Actor> .

<http://ns.inria.fr/ludo/v1/xapi#Verb>
        a                owl:Class ;
        rdfs:comment     "Defines the action being done by the Actor within the Activity within a Statement."@en ;
        rdfs:label       "Verb"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasScore>
        a             owl:ObjectProperty ;
        rdfs:comment  "The score of the Agent in relation to the success or quality of the experience."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Result> ;
        rdfs:label    "Score"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Score> .

<http://ns.inria.fr/ludo/v1/xapi#Other>
        a                owl:Class ;
        rdfs:comment     "A context Activity that doesn’t fit one of the other fields. For example: Anna studies a textbook for a biology exam. The Statement’s Activity refers to the textbook, and the exam is a context Activity of type “other”."@en ;
        rdfs:label       "Other"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#ActivityProvider>
        a                owl:Class ;
        rdfs:comment     "The software object that is communicating with the LRS to record information about a learning experience. May be similar to a SCORM package in that it is possible to bundle learning assets with the software object that performs this communication, but an Activity Provider may also be separate from the experience it is reporting about."@en ;
        rdfs:label       "Activity Provider"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasInstructor>
        a             owl:ObjectProperty ;
        rdfs:comment  "Instructor that the Statement relates to, if not included as the Actor of the Statement."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Instructor"@en .

<http://dbpedia.org/resource/National_Institute_for_Research_in_Computer_Science_and_Control>
        a       foaf:Organization .

<http://ns.inria.fr/ludo/v1/xapi#hasStatement>
        a             owl:ObjectProperty ;
        rdfs:comment  "Another Statement, which should be considered as context for this Statement."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Statement"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Object> .

<http://ns.inria.fr/ludo/v1/xapi#hasTarget>
        a             owl:ObjectProperty ;
        rdfs:comment  "Array of interaction components"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Target"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> .

<http://ns.inria.fr/ludo/v1/xapi#Profile>
        a                owl:Class ;
        rdfs:comment     "A construct where information about the learner or activity is kept, typically in name/document pairs that have meaning to an instructional system component."@en ;
        rdfs:label       "Profile"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasInteractionType>
        a             owl:DatatypeProperty ;
        rdfs:comment  "As in \"cmi.interactions.n.type\" as defined in the SCORM 2004 4th Edition Run-Time Environment."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Interaction Type"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasLanguageVerb>
        a            owl:DatatypeProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> ;
        rdfs:label   "Language Verb"@en ;
        rdfs:range   <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#REST>
        a                owl:Class ;
        rdfs:comment     "An architecture for designing networked web Services. It relies on HTTP methods and uses current web best practices."@en ;
        rdfs:label       "REST"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Category>
        a                owl:Class ;
        rdfs:comment     "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 CMI–5 profile. The Statement’s Activity refers to the exam, and the category is the CMI–5 profile."@en ;
        rdfs:label       "Category"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasObjectInteration>
        a            owl:ObjectProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Object> ;
        rdfs:label   "Object Interaction Property"@en ;
        rdfs:range   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> .

<http://ns.inria.fr/ludo/v1/xapi#InverseFunctionalIdentifier>
        a                owl:Class ;
        rdfs:label       "Inverse Functional Identifier"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasActorObjectType>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Either an Agent or Group of agents"@en ;
        rdfs:label    "Actor Object Type"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasStep>
        a             owl:ObjectProperty ;
        rdfs:comment  "Array of interaction components"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Step"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> .

<http://ns.inria.fr/ludo/v1/xapi#hasContextActivity>
        a             owl:ObjectProperty ;
        rdfs:comment  "A map of types of learning activity context that this Statement is related to." ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#ContextActivity> ;
        rdfs:label    "Context Activity"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasAttachment>
        a            owl:ObjectProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label   "Attachment"@en ;
        rdfs:range   <http://ns.inria.fr/ludo/v1/xapi#Attachment> .

<http://ns.inria.fr/ludo/v1/xapi#Client>
        a                owl:Class ;
        rdfs:comment     "Refers to any entity that may interact with an LRS. A Client can be an Activity Provider, reporting tool, an LMS, or another LRS."@en ;
        rdfs:label       "Client"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi>
        a                owl:Ontology ;
        dc:creator       "Catherine Faron Zucker" , "Oscar Rodríguez Rocha" ;
        dc:date          "2015-02-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dc:description   "This is an OWL formalization of the statements defined in the Experience API (xAPI) specification. It is a module of the LUDO ontology."@en ;
        dc:issued        "2015-02-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
        dc:publisher     <http://dbpedia.org/resource/National_Institute_for_Research_in_Computer_Science_and_Control> ;
        dc:rights        "This ontology is distributed under a Creative Commons Attribution License - http://creativecommons.org/licenses/by/3.0 ."@en ;
        dc:title         "Experience API (xAPI)"@en ;
        owl:versionInfo  1.0 .

<http://ns.inria.fr/ludo/v1/xapi#LanguageMap>
        a                owl:Class ;
        rdfs:comment     "A language map is a dictionary where the key is a  RFC 5646 Language Tag, and the value is an string in the language specified in the tag. This map should be populated as fully as possible based on the knowledge of the string in question in different languages."@en ;
        rdfs:label       "LanguageMap"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasVersion>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Version information in Statements helps systems that process data from an LRS get their bearings. Since the Statement data model is guaranteed consistent through all 1.0.x versions, in order to support data flow among such LRSs the LRS is given some flexibility on Statement versions that are accepted."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label    "Version"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasResult>
        a             owl:ObjectProperty ;
        rdfs:comment  "An optional field that represents a measured outcome related to the Statement in which it is included."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label    "Result"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Result> .

<http://ns.inria.fr/ludo/v1/xapi#hasSha-2>
        a             owl:DatatypeProperty ;
        rdfs:comment  "The SHA-2 (SHA-256, SHA-384, SHA-512) hash of the attachment data. SHA-224 SHOULD not be used: a minimum key size of 256 bits is recommended."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Attachment> ;
        rdfs:label    "SHA-2"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#Parent>
        a                owl:Class ;
        rdfs:comment     "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."@en ;
        rdfs:label       "Parent"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#MSM>
        a                owl:Class ;
        rdfs:comment     "Three levels of obligation with regards to conformance to the xAPI specification. A system that fails to implement a MUST (or a MUST NOT) requirement is non-conformant. Failing to meet a SHOULD requirement is not a violation of conformity, but goes against best practices. MAY indicates an option, to be decided by the developer with no consequences for conformity."@en ;
        rdfs:label       "MUST / SHOULD / MAY"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasResponse>
        a             owl:DatatypeProperty ;
        rdfs:comment  "A response appropriately formatted for the given Activity."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Result> ;
        rdfs:label    "Response"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#isCompleted>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Indicates whether or not the Activity was completed."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Result> ;
        rdfs:label    "Completion"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#boolean> .

<http://ns.inria.fr/ludo/v1/xapi#hasActivityDefinitionDescription>
        a             owl:ObjectProperty ;
        rdfs:comment  "A description of the Activity"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#ActivityDefinition> ;
        rdfs:label    "Activity Definition Description"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> .

<http://ns.inria.fr/ludo/v1/xapi#hasID>
        a             owl:DatatypeProperty ;
        rdfs:comment  "A UUID (see RFC 4122 for requirements, and the UUID must be in standard string form)."@en ;
        rdfs:label    "ID"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasScale>
        a             owl:ObjectProperty ;
        rdfs:comment  "Array of interaction components"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Scale"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> .

<http://ns.inria.fr/ludo/v1/xapi#hasLanguage>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Code representing the language in which the experience being recorded in this Statement (mainly) occurred in, if applicable and known. As defined in RFC 5646"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Language"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasScaled>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Decimal number between –1 and 1, inclusive. Cf. ‘cmi.score.scaled’ in SCORM 2004 4th Edition"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Score> ;
        rdfs:label    "Scaled"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#decimal> .

<http://ns.inria.fr/ludo/v1/xapi#hasObjectExtension>
        a           owl:ObjectProperty ;
        rdfs:label  "Object Extension"@en .

<http://ns.inria.fr/ludo/v1/xapi#Grouping>
        a                owl:Class ;
        rdfs:comment     "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."@en ;
        rdfs:label       "Grouping"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasStatementID>
        a            owl:DatatypeProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label   "Statement ID"@en ;
        rdfs:range   <http://www.w3.org/2001/XMLSchema#integer> .

<http://ns.inria.fr/ludo/v1/xapi#hasMoreInfo>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Resolves to a document with human-readable information about the Actiivty, which could include a way to launch the activity."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#ActivityDefinition> ;
        rdfs:label    "Activity Definition More Info"@en .

<http://ns.inria.fr/ludo/v1/xapi#Activity>
        a                owl:Class ;
        rdfs:comment     "An Activity is a type of Object making up the “this” in I did “this”; it is something with which an Actor interacted. It can be a unit of instruction, experience, or performance that is to be tracked in meaningful combination with a Verb. Interpretation of Activity is broad, meaning that Activities can even be tangible objects such as a chair (real or virtual). In the statement \"Anna tried a cake recipe\", the recipe constitutes the Activity in terms of the xAPI statement. Other examples of activities include a book, an e-learning course, a hike or a meeting."@en ;
        rdfs:label       "Activity"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasDuration>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Period of time over which the Statement occurred. Formatted according to ISO 8601 with a precision of 0.01 seconds"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Result> ;
        rdfs:label    "Duration"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#duration> .

<http://ns.inria.fr/ludo/v1/xapi#Extension>
        a                owl:Class ;
        rdfs:label       "Extension"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasInverseFunctionalIdentifier>
        a             owl:ObjectProperty ;
        rdfs:comment  "An Inverse Functional Identifier unique to the Agent."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Actor> ;
        rdfs:label    "Inverse Functional Identifier"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#InverseFunctionalIdentifier> .

<http://ns.inria.fr/ludo/v1/xapi#BaseEndpoint>
        a                owl:Class ;
        rdfs:comment     "The maximal path under all Experience API endpoints, including a slash. E.g. an LRS with a statements endpoint of http://example.com/xAPI/statements would have a Base Endpoint of http://example.com/xAPI/\""@en ;
        rdfs:label       "Base Endpoint"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Authorization>
        a                owl:Class ;
        rdfs:comment     "The affordance of permissions based on a user or system's role; the process of making one user or system \"trusted\" by another."@en ;
        rdfs:label       "Authorization"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Authentication>
        a                owl:Class ;
        rdfs:comment     "The concept of verifying the identity of a user or system. Authentication allows interactions between the two \"trusted\" parties."@en ;
        rdfs:label       "Authentication"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasChoice>
        a             owl:ObjectProperty ;
        rdfs:comment  "Array of interaction components"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#InteractionActivity> ;
        rdfs:label    "Choice"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#InteractionComponent> .

<http://ns.inria.fr/ludo/v1/xapi#isSuccess>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Indicates whether or not the attempt on the Activity was successful."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Result> ;
        rdfs:label    "Success"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#boolean> .

<http://ns.inria.fr/ludo/v1/xapi#hasGroupName>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Name of the group."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Group> ;
        rdfs:label    "Group Name"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#Registration>
        a                owl:Class ;
        rdfs:comment     "An instance of a learner experiencing a particular Activity."@en ;
        rdfs:label       "Registration"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasObjectID>
        a             owl:ObjectProperty ;
        rdfs:comment  "An identifier for a single unique Activity"@en ;
        rdfs:label    "Object ID"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasDisplay>
        a           owl:ObjectProperty ;
        rdfs:range  <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> .

<http://ns.inria.fr/ludo/v1/xapi#hasObject>
        a             owl:ObjectProperty ;
        rdfs:comment  "Activity, Agent, or another Statement that is the Object of the Statement. Represents the \"This\" in \"I Did This\". Note that Objects which are provided as a value for this field should include an \"objectType\" field. If not specified, the Object is assumed to be an Activity."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Statement> ;
        rdfs:label    "Object"@en ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Object> .

<http://ns.inria.fr/ludo/v1/xapi#hasRevision>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Revision of the learning activity associated with this Statement. Format is free."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Revision"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#IRI>
        a                owl:Class ;
        rdfs:comment     "A unique identifier which may be an IRL. In the xAPI, all IRIs should be a full absolute IRIs including a scheme. Relative IRIs should not be used. IRLs should be defined within a domain controlled by the person creating the IRL."@en ;
        rdfs:label       "International Resource Identifier"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasMbox>
        a             owl:ObjectProperty ;
        rdfs:comment  "The required format is \"mailto:email address\". Only email addresses that have only ever been and will ever be assigned to this Agent, but no others, should be used for this property and mbox_sha1sum."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Agent> ;
        rdfs:label    "mbox"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasMember>
        a           owl:ObjectProperty ;
        rdfs:label  "Member"@en ;
        rdfs:range  <http://ns.inria.fr/ludo/v1/xapi#Agent> .

<http://ns.inria.fr/ludo/v1/xapi#ActivityDefinition>
        a                owl:Class ;
        rdfs:label       "Activity Definition"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasUsageType>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Identifies the usage of this attachment. For example: one expected use case for attachments is to include a \"completion certificate\". A type IRI corresponding to this usage should be coined, and used with completion certificate attachments."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Attachment> ;
        rdfs:label    "Usage Type"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasRegistration>
        a             owl:DatatypeProperty ;
        rdfs:comment  "The registration that the Statement is associated with. UUID"@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Context> ;
        rdfs:label    "Registration"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasVerbID>
        a             owl:ObjectProperty ;
        rdfs:comment  "Corresponds to a Verb definition. Each Verb definition corresponds to the meaning of a Verb, not the word. The IRI should be human-readable and contain the Verb meaning."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Verb> ;
        rdfs:label    "Verb ID"@en .

<http://ns.inria.fr/ludo/v1/xapi#Actor>
        a                owl:Class ;
        rdfs:comment     "An identity or persona of an individual or group tracked using Statements as doing an action (Verb) within an Activity."@en ;
        rdfs:label       "Actor"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#ContextActivity>
        a                owl:Class ;
        rdfs:label       "Context Activity"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Score>
        a                owl:Class ;
        rdfs:comment     "An optional field that represents the outcome of a graded Activity achieved by an Agent."@en ;
        rdfs:label       "Score"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasObjectDefinition>
        a            owl:ObjectProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Object> ;
        rdfs:label   "Object Definition"@en ;
        rdfs:range   <http://ns.inria.fr/ludo/v1/xapi#ActivityDefinition> .

<http://ns.inria.fr/ludo/v1/xapi#LRS>
        a                owl:Class ;
        rdfs:comment     "A system that stores learning information. Prior to the xAPI most LRSs were Learning Management Systems (LMSs); however this document uses the term LRS to be clear that a full LMS is not necessary to implement the xAPI. The xAPI is dependent on an LRS to function."@en ;
        rdfs:label       "Learning Record Store"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Account>
        a                owl:Class ;
        rdfs:comment     "A user account on an existing system, such as a private system (LMS or intranet) or a public system (social networking site)."@en ;
        rdfs:label       "Account"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#Result>
        a                owl:Class ;
        rdfs:comment     "An optional field that represents a measured outcome related to the Statement in which it is included."@en ;
        rdfs:label       "Result"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#InteractionActivity>
        a                owl:Class ;
        rdfs:comment     "Traditional e-learning has included structures for interactions or assessments. As a way to allow these practices and structures to extend Experience API's utility, this specification includes built-in definitions for interactions, which borrows from the SCORM 2004 4th Edition Data Model. These definitions are intended to provide a simple and familiar utility for recording interaction data. These definitions are simple to use, and consequently limited. It is expected that communities of practice requiring richer interactions definitions will do so through the use of extensions to an Activity's type and definition."@en ;
        rdfs:label       "Interaction Activity"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasAuthority>
        a             owl:ObjectProperty ;
        rdfs:comment  "The authority property provides information about whom or what has asserted that this Statement is true."@en ;
        rdfs:label    "Authority"@en .

<http://ns.inria.fr/ludo/v1/xapi#hasName>
        a            owl:DatatypeProperty ;
        rdfs:domain  <http://ns.inria.fr/ludo/v1/xapi#Account> ;
        rdfs:label   "Name"@en ;
        rdfs:range   <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasAccount>
        a             owl:ObjectProperty ;
        rdfs:comment  "Account property" ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Agent> ;
        rdfs:label    "Account" ;
        rdfs:range    <http://ns.inria.fr/ludo/v1/xapi#Account> .

<http://ns.inria.fr/ludo/v1/xapi#InteractionComponent>
        a                owl:Class ;
        rdfs:label       "Interaction Component"@en ;
        rdfs:subClassOf  owl:Thing .

<http://ns.inria.fr/ludo/v1/xapi#hasAgentName>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Full name of the Agent."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#Agent> ;
        rdfs:label    "Agent name"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#hasLanguageTag>
        a             owl:DatatypeProperty ;
        rdfs:comment  "Language tags are used to help identify languages, whether spoken, written, signed, or otherwise signaled, for the purpose of communication. This includes constructed and artificial languages but excludes languages not intended primarily for human communication, such as programming languages."@en ;
        rdfs:domain   <http://ns.inria.fr/ludo/v1/xapi#LanguageMap> ;
        rdfs:label    "Language Tag"@en ;
        rdfs:range    <http://www.w3.org/2001/XMLSchema#string> .

<http://ns.inria.fr/ludo/v1/xapi#Service>
        a                owl:Class ;
        rdfs:comment     "A software component responsible for one or more aspects of the distributed learning process. An LMS typically combines many services to design a complete learning experience."@en ;
        rdfs:label       "Service"@en ;
        rdfs:subClassOf  owl:Thing .
