Mentoring Activity and Query-Response Ontology (MAQRO) 1.0

Working Draft 13 January 2004

Copyright © 2003-2004 GlobalMentor, Inc. This specification may be freely copied and used for non-commercial purposes, but only in unmodified form.

Editor
Garret Wilson (GlobalMentor, Inc.) mailto:garret@globalmentor.com
This Version
http://www.maqro.org/specification/maqro-draft-20040113.html
Latest Version
http://www.maqro.org/specification/

Abstract

The Mentoring Activity and Question-Response Ontology (MAQRO) is an RDF ontology for describing query and response scenarios. MAQRO has features especially useful in educational settings. Use cases include:

Status of This Document

This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use this draft as reference material or to cite it as other than "work in progress".

Table of Contents

Introduction

This section is informative.

The name of the MAQRO specification—Mentoring Activity and Query-Response Ontology—reflects its purpose:

Mentoring Activity
While MAQRO can be used in various settings that require queries and responses, MAQRO is especially suited for encoding educational information such as questions, assessments, and activities. MAQRO can describe not only simple questions and answers, but also rich sets of queries and responses such as interactive activities.
Query-Response
MAQRO at its core describes interactions between a user and a MAQRO instance through the use of queries and responses.
Ontology
MAQRO provides more than just a syntax for storing assessments. MAQRO allows representation of the semantics of activities by providing a vocabulary for discussing activities in terms of objects and their relationships. By extending the W3C Resource Definition Framework [RDF] MAQRO leverages an existing standard framework and default syntax that allows interoperability and internationalization.

Overview

This section is informative.

MAQRO views its world of educational activities in terms of RDF resources. Each object in a MAQRO instance is a resource which can optionally be represented by a Uniform Resource Identifier [IETF RFC 2396]. MAQRO by default is stored in an XML serialization—specifically, RDF/XML [RDF/XML Syntax]—but can be stored in any format that accurately reproduces the MAQRO RDF model.

All examples assume that XML element prefixes have been associated with the appropriate namespaces.

The two fundamental classes of resources that MAQRO defines are questions and activities.

Questions

A MAQRO question is composed of a query that represents the part of the question that a user is asked. A question can indicate what type of response to expect or supply choices, as well as provide hints. MAQRO ensures that these properties are sufficiently and consistently semantically indicated—a MAQRO engine (TODO define) has great leeway in how it displays the information.

The following shows an example of what is typically referred to as a multiple choice question. An example multiple choice question is more fully explained later in this specification.


<maqro:Question>
  <maqro:query>
    <maqro:Dialogue>
      <rdf:value rdf:parseType="Literal">What was the capital of the Roman Empire under Constantine?</rdf:value>
    </maqro:Dialogue>
  </maqro:query>
  <maqro:choices>
    <maqro:Dialogue rdf:nodeID="austin">
      <rdf:value>Austin</rdf:value>
    </maqro:Dialogue>
    <maqro:Dialogue rdf:nodeID="constantinople">
      <rdf:value>Constantinople</rdf:value>
    </maqro:Dialogue>
  </maqro:choices>
  <maqro:maxResponseCount rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</maqro:maxResponseCount>
  <maqro:answer rdf:nodeID="constantinople"/>
</maqro:Question>

Activities

The MAQRO concept of activity is broad enough to include assessments and polls. MAQRO is especially suited for representing educational assessments and learning activities. For assessments, scoring information question is stored in the context of the assessment rather than binding scoring information to each question. This allows questions to be reused in other assessments, which might use other scoring methods.

Activities may also encode higher-level entities than assessments, such as collections of reading materials, pictures, and other assessments.

An activity instance implementing a typical assessment is shown below. The full asssessment example can be found later in this specification.


<maqro:Activity>

  <maqro:interactions rdf:parseType="Collection">
    <maqro:Question rdf:nodeID="question1"/>
    <maqro:Question rdf:nodeID="question2"/>
  </maqro:interactions>


</maqro:Activity>

Outcomes

MAQRO can represent not only the information defining interaction with a user, but also the outcome of interaction that is occurring or has already occurred. This outcome information includes literal user responses, semantic characterizations of those user responses, and evaluations of those responses.

The following example shows the outcome for a single activity, including the overall score result and the result for one of the activity's questions. The full asssessment outcome example, can be found later in this specification.


<maqro:Outcome>

  <maqro:interaction rdf:resource="uri:x-example.org/activities/activityexample1"/>

  <maqro:result>
    <maqro:Score>
      <maqro:evaluation rdf:resource="uri:x-example.org/activities/activityexample1#score"/>
      <rdf:value rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.5</rdf:value>
      <maqro:possible rdf:datatype="http://www.w3.org/2001/XMLSchema#float">10.0</maqro:possible>
    </maqro:Score>
  </maqro:result>

  <maqro:outcomes rdf:parseType="Collection">
    <maqro:Outcome>
      <maqro:interaction rdf:resource="uri:x-example.org/questions/question1"/>
      <maqro:responses rdf:parseType="Collection">
        <maqro:Dialogue rdf:resource="uri:x-example.org/questions/question1#choice1"/>
        <maqro:Dialogue rdf:resource="uri:x-example.org/questions/question1#choice3"/>
      </maqro:responses>
      <maqro:correct rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</maqro:correct>
    </maqro:Outcome>
  </maqro:outcomes/>

</maqro:Outcome>

Namespaces

The following XML and RDF namespaces must be used when representing elements of MAQRO:

http://maqro.org/namespaces/2003/maqro#
The namespace of all MAQRO resources, including all classes and properties.

File and MIME Conventions

If a MIME content type is needed in a particular context to refer to MAQRO data, one of the following MIME content types should be used. These MIME types are currently unregistered. Future versions of this specification will provide replacement registered MIME types. If stored on a file system, a MAQRO instances should also use the file extension that corresponds to the specific use of MAQRO in the file.

File ExtensionMIME TypePurpose
maqroapplication/x-maqro+rdf+xmlThe file contains a MAQRO activity serialized using RDF+XML.
qroapplication/x-qro+rdf+xmlThe file contains a single MAQRO question serialized using RDF+XML.

Ontology Description

The following normative sections describe each MAQRO class, and include a list of properties relevant to that class. The OWL Definitions provide a more rigorous normative definition of the MAQRO ontology.

NameReference URIDescription
maqro:Activityhttp://maqro.org/namespaces/2003/maqro#ActivityA collections of interactions (such as questions) in the context of user activity.
maqro:Dialoguehttp://maqro.org/namespaces/2003/maqro#DialogueA single part of the query/response sequence contained in an interaction.
maqro:Grouphttp://maqro.org/namespaces/2003/maqro#GroupA resouce that associates together several interactions, for example to ensure the interactions stay together during random ordering.
maqro:Interactionhttp://maqro.org/namespaces/2003/maqro#InteractionAn abstraction of a point of interaction.
maqro:Outcomehttp://maqro.org/namespaces/2003/maqro#OutcomeThe outcome, including responses and evaluations, of interacting with a user in the context of a certain MAQRO interaction.
maqro:Questionhttp://maqro.org/namespaces/2003/maqro#QuestionA type of interaction that represents a query and expected responses. A question can appear in an activity or stand alone.

maqro:Dialogue

Represents an atomic element of one side of the query/response dialogue between a user and an interaction. Typical uses for this class include a question's query, a question choice, and a question answer. For normal text dialogue, the rdf:value property should contain the text of the dialogue as a literal. For questions that expect a specific response type, such as a Boolean value or an integer, the dialogue class rdf:value property must contain the appropriate response value.

maqro:Interaction

An generalization of a point of interaction with a user—a stopping point around which interaction occurs. The interaction class is abstract, and will be used only through its subclasses.

maqro:category
Indicates that the value is a way of categorizing the interaction. The property value should be a literal.

maqro:Question

A type of interaction that represents a query and expected responses. A question can appear in an activity or stand alone.

maqro:answer
Indicates the correct answer of a question, if the question has a response that could be semantically considered correct. The value of this resource must be a maqro:Dialogue. If only choices are provided, this property's value must be the correct choice. If only a typed response is expected, this property's value must be dialogue with the typed literal representing the correct answer as the value of the dialogue's rdf:value property.
maqro:choices
A list of choices to present to the user. This optional property is typically used for questions that do not provide an expected response datatype. Each element in the list should indicate the choice using the maqro:Dialogue class.
maqro:expectation
Indicates the type of response to expect. This optional property is used for questions that do not provide choices. The value of this property will be a resource that indicates the expected data type. For example, a resource value with a reference URI of http://www.w3.org/2001/XMLSchema#integer indicates that the question expects an integer response.
maqro:explanation
Explains the rationale behind the question and its answer, if any. In a typical use case, a MAQRO engine will not present the explanation to a user until some point after the user has submitted an answer, because an explanation usually by its nature reveals the correct answer. The value of this property will indicate the explanation text using the maqro:Dialogue class.
maqro:hints
An ordered list of hints that provide assistance in answering the question. The order of the hints indicate the preferred order in which such assistance should be provided. Each resource in the list should be a maqro:Dialoge.
maqro:maxResponseCount
The maximum number of responses to accept in response to the query. The value must be an xsd:integer indicating the maximum number of responses. If this property is omitted, the maximum number of responses defaults to infinity.
maqro:query
Indicates the part of the question that is asked to a user. The value of this property will indicate the choice text using the maqro:Dialogue class.

maqro:Group

Associates together several interactions, for example to ensure the interactions stay together during random ordering. A group is considered an interaction, but is used only as a container for other interactions, including other groups. Each group should contain at least one interaction, which may be another group.

maqro:interactions
The list of interactions in the group. Such interactions can include questions, groups, and activities.
maqro:selection
Indicates which interactions in the group should be selected. The absence of the selection property indicates that all interactions should be selected.
maqro:order
Indicates the order in which to the interactions should be presented. The absence of the order property indicates that the default order in which the interactions appear within the group should be used.

Selection

Selection of a subset of interactions within a group, including an activity group, is specified using the maqro:selection property. The selection resource will indicate the selection type as well as optionally indicate one or more filters. The following selection types are currently defined. (Note: Future versions of this specification may include more diverse random selection such as maqro:NormalRandomDistribution and TriangleRandomDistribution.)

maqro:InclusiveSelection
Indicates that all interactions should be included, subject to whatever filters are defined.
maqro:UniformRandomSelection
Indicates that a random subset of interactions should be included, with each interaction assigned an equal probability of being included.

Any filters defined will further limit the interactions included in the selection. Each type of filter can specify the maximum number of interactions to which the filter applies that should be included. This maximum number is specified using the maqro:count property. This specification defines several types of filters:

maqro:DuplicateFilter
Determines whether and how many duplicates should be included. The maqro:maxCount property prescribes the maximum number of each interaction instance to include. For example, an xsd:integer value of 1 indicates that each interaction may only be included once. If a maximum count property is not included, a default value of one is assumed.
maqro:CategoryFilter
Restricts the included interactions by one or more categories, each of which is indicated using the maqro:category property. An interaction is selected if it has all of the categories described by the category filter. A category filter with no categories specified selects only interactions with no categories.

If a selection uses more than one instance of a given filter type, the selected interactions will be the union of the results of the filters. For filters of different types, the selected interactions will be the intersection of the results of the filters. Identical filter types have precedence. As an example, consider the following filters:


<maqro:filter>
  <maqro:InteractionTypeFilter>
    <maqro:interactionType rdf:resource="http://maqro.org/namespaces/2003/maqro#Question">
  </maqro:InteractionTypeFilter>
</maqro:filter>
<maqro:filter>
  <maqro:CategoryFilter>
    <maqro:category>Arithmetic</maqro:category>
    <maqro:category>Language</maqro:category>
  </maqro:CategoryFilter>
</maqro:filter>
<maqro:filter>
  <maqro:CategoryFilter>
    <maqro:category>Science</maqro:category>
  </maqro:CategoryFilter>
</maqro:filter>
<maqro:filter>
  <maqro:CategoryFilter>
  </maqro:CategoryFilter>
</maqro:filter>

Using the above filters, only interactions that pass the following pseudo-code test would be included:

(interaction type is maqro:Question) AND ((has category "Arithmatic" AND has category "Science") OR has category "Science" OR has no category)

maqro:Activity

A collection of interactions and their meaning in the context of user activity. An activity is both a group and an interaction, and can appear inside another activity as can other interactions.

Evaluation

The maqro:evaluation property determines how an activity will be evaluated to arrive at a result, such as a score or a grade. An activity may prescribe zero, one, or more evaluations. This version of MAQRO defines the following evaluations:

maqro:ScoreEvaluation

Evaluates an activity outcome and arrives at a score result. In its default form, a score evaluation indicates a score should be calculated by taking the sum of all correctly-answered questions. A score evaluation, using the maqro:weights property, may specify a list of score weights using an maqro:ScoreWeight resource. Each score weight specifies the weight to be given a question when counting correct answers. may specify one or more of the following properties:

maqro:interaction
Must reference the interaction to which the weight should be applied. This property is required.
maqro:valueCorrect
The literal value to be assigned if the interaction response was correct. If not present, a default value of one is assumed.
maqro:valueIncorrect
The literal value to be assigned if the interaction response was incorrect. If not present, a default value of zero is assumed.
maqro:valueUnanswered
The literal value to be assigned if no response was given to an interaction. If not present, a default value of zero is assumed.
maqro:valueUnpresented
The literal value to be assigned if the interaction was not presented to the user. If not present, a default value of zero is assumed.

Outcome and Result

What results from the interation of a user and a MAQRO interaction is an outcome. An outcome indicates the actual user responses to individual interactions and determinations of the inherent properties of the interactions, such as whether a response was correct. A MAQRO result comes from the processing of an activity evaluation, and indicates the results of author-specified calculations. The relationships between these MAQRO inputs and outputs are presented in the following table:

Input Class Output Class
maqro:Interaction maqro:Outcome
maqro:Evaluation maqro:Result

maqro:Outcome

An outcome of a user interaction is represented by a maqro:Outcome class. A MAQRO outcome may contain any of the following properties:

maqro:interaction
Must reference the interaction for which an outcome is indicated.
maqro:correct
Must provide a xsd:boolean literal indicating whether the response was correct. This property will most often be used with question outcomes.
maqro:result

Indicates the result of an interaction evaluation. MAQRO defines the following types of results:

maqro:Score

Indicates the result of a maqro:ScoreEvaluation. A score may contain the following properties:

maqro:evaluation
Must reference the evaluation from which the result was obtained.
rdf:value
Indicates the resulting score value. This property is required.
maqro:possible
Indicates highest score possible. This value is required, and should use the same data type as the result value.
maqro:outcomes
For the outcome of groups, provides a list of outcomes corresponding to the member interactions of the group. For example, an activity should provide maqro:outcomes with a list of the outcomes corresponding to the activity's questions.

Examples

All examples in this section are non-normative. The examples assume that the appropriate XML namespace has been associated with the XML prefixes in the RDF+XML document.

Example True/False Question

Question (true/false)
query There are only eight eggs in a dozen.
expectation Boolean
hint Six of one, half a dozen of the other.
answer true (boolean)

<?xml version="1.0"?>
<rdf:RDF
    xmlns:maqro="http://maqro.org/namespaces/2003/maqro#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<maqro:Question>
  <maqro:query>
    <maqro:Dialogue>
      <rdf:value rdf:parseType="Literal">There are only <xhtml:em>eight</xhtml:em> eggs in a dozen.</rdf:value>
    </maqro:Dialogue>
  </maqro:query>
  <maqro:expectation rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
  <maqro:hints>
    <maqro:Dialogue>
      <rdf:value>Six of one, half a dozen of the other.</rdf:value>
    </maqro:Dialogue>
  </maqro:hints>
  <maqro:maxResponseCount rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</maqro:maxResponseCount>
  <maqro:answer>
    <maqro:Dialogue>
      <rdf:value rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</rdf:value>
    </maqro:Dialogue>
  </maqro:answer>
  <maqro:category>Arithmetic</maqro:category>
  <maqro:category>Shopping</maqro:category>
</maqro:Question>

</rdf:RDF>
Question
The MAQRO class that indicates a resource is a question that can be asked.
query
The property that indicates the thing that actually gets asked. Here, the query is dialogue text. Its value is set to the literal text, "There are only eight eggs in a dozen." The word "eight" is shown to be emphasized using the XHTML vocabulary.
expectation
This optional property indicates what type of response should be expected by the query. Here the XML Schema Boolean type is used [XML Schema Datatypes], indicating that a boolean answer (e.g. yes/no, true/false) is expected. (Questions that provide their own choices usually do not indicate the type of response expected, as providing choices makes this information redundant.
hint
The question optionally provides a hint, without indicating how or when a MAQRO engine would show the hint. As with the query, the hint's literal text value is represented in the maqro:Dialogue class.
maxResponseCount
The maximum number of responses to accept. This defaults to infinity if the property is omitted.
answer
The property that indicates a correct answer, if this question has a response that could be semantically considered correct. Here the question indicates that its answer is boolean false—not the text string "false", but the XML Schema boolean value that the lexical form "false" represents, as indicated by the rdf:datatype [XML Schema Datatypes].

Example Multiple Choice Question

Question (multiple choice)
query What was the capital of the Roman Empire under Constantine?
choice Austin
choice Constantinople
answer Austin

<?xml version="1.0"?>
<rdf:RDF
    xmlns:maqro="http://maqro.org/namespaces/2003/maqro#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<maqro:Question>
  <maqro:query>
    <maqro:Dialogue>
      <rdf:value rdf:parseType="Literal">What was the capital of the Roman Empire under Constantine?</rdf:value>
    </maqro:Dialogue>
  </maqro:query>
  <maqro:choices rdf:parseType="Collection">
    <maqro:Dialogue rdf:nodeID="austin">
      <rdf:value>Austin</rdf:value>
    </maqro:Dialogue>
    <maqro:Dialogue rdf:nodeID="constantinople">
      <rdf:value>Constantinople</rdf:value>
    </maqro:Dialogue>
  </maqro:choices>
  <maqro:maxResponseCount rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</maqro:maxResponseCount>
  <maqro:answer rdf:nodeID="constantinople"/>
</maqro:Question>

</rdf:RDF>
choices
Indicates the choices to present to the user. This optional property is typically used for questions that do not provide an expected response datatype.
maxResponseCount
The maximum number of responses to accept. This defaults to infinity if the property is omitted.
answer
In this case, the answer does not indicate a typed value (such as boolean true), but instead indicates one of the specified choice descriptions through use of the rdf:nodeID property.

Example Assessment

Activity (assessment)
dc:title Example Assessment 1
dc:creator Jane Doe
evaluation (Score Evaluation) "Count the number of correct responses, using the assigned weights for the questions. If question #1 was answered correctly, add 0.5 to the score; otherwise add nothing. If question #2 was answered correctly, add 1.0 to the score. Otherwise, if question #2 was answered incorrectly, subtract a half of a point from the score. If question #2 was not answered at all, subtract 0.25 from the score. If question #2 was not even presented to the user, instead subtract only 0.1 from the score."
interactions A list of questions in the assessment.

<?xml version="1.0"?>
<rdf:RDF
    xmlns:maqro="http://maqro.org/namespaces/2003/maqro#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<maqro:Activity rdf:about="uri:example.org/activities/assessment1">

  <dc:title>Example Assessment 1</dc:title>
  <dc:creator>Jane Doe</dc:creator>

  <maqro:evaluation>
    <maqro:ScoreEvaluation rdf:about="uri:example.org/activities/assessment1#score">
      <maqro:weights rdf:parseType="Collection">
        <maqro:ScoreWeight>
          <maqro:interaction rdf:nodeID="question1"/>
          <rdf:value rdf:datatype="http://www.w3.org/2001/XMLSchema#float">0.5</rdf:value>
        </maqro:ScoreWeight>
        <maqro:ScoreWeight>
          <maqro:interaction rdf:nodeID="question2"/>
          <rdf:value rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.0</rdf:value>
          <maqro:valueCorrect rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.0</maqro:valueCorrect>
          <maqro:valueIncorrect rdf:datatype="http://www.w3.org/2001/XMLSchema#float">-0.5</maqro:valueIncorrect>
          <maqro:valueUnanswered rdf:datatype="http://www.w3.org/2001/XMLSchema#float">-0.25</maqro:valueUnanswered>
          <maqro:valueUnpresented rdf:datatype="http://www.w3.org/2001/XMLSchema#float">-0.1</maqro:valueUnpresented>
        </maqro:ScoreWeight>
      </maqro:weights>
    </maqro:ScoreEvaluation>
  </maqro:evaluation>



  <maqro:interactions rdf:parseType="Collection">
    <maqro:Question rdf:about="uri:x-example.org/questions/question1">
      <maqro:query>
        <maqro:Dialogue>
          <rdf:value rdf:parseType="Literal">There are only <xhtml:em>eight</xhtml:em> eggs in a dozen.</rdf:value>
        </maqro:Dialogue>
      </maqro:query>
      <maqro:expectation rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/>
      <maqro:hint>
        <maqro:Dialogue>
          <rdf:value>Six of one, half a dozen of the other.</rdf:value>
        </maqro:Dialogue>
      </maqro:hint>
      <maqro:answer rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</maqro:answer>
    </maqro:Question>
    <maqro:Question rdf:about="uri:x-example.org/questions/question2">
      <maqro:query>
        <maqro:Dialogue>
          <rdf:value rdf:parseType="Literal">What was the capital of the Roman Empire under Constantine?</rdf:value>
        </maqro:Dialogue>
      </maqro:query>
      <maqro:choices rdf:parseType="Collection">
        <maqro:Dialogue rdf:about="uri:x-example.org/questions/question2#austin">
          <rdf:value>Austin</rdf:value>
        </maqro:Dialogue>
        <maqro:Dialogue rdf:about="uri:x-example.org/questions/question2#constantinople">
          <rdf:value>Constantinople</rdf:value>
        </maqro:Dialogue>
      </maqro:choices>
      <maqro:maxResponseCount rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</maqro:maxResponseCount>
      <maqro:answer rdf:resource="uri:x-example.org/questions/question2#constantinople"/>
    </maqro:Question>
    <!--(more questions appear here)-->
  </maqro:interactions>

</maqro:Activity>

</rdf:RDF>
dc:title
The Dublin Core [DC] property indicating the title of the activity.
dc:creator
The Dublin Core [DC] property indicating the author of the activity.
Activity
The MAQRO class that represents a collection of interactions and their meaning in the context of user activity.
interactions
The list of interactions in the activity. The interactions here are all questions.
evaluation
Property that describes an evaluation to perform.
ScoreEvaluation
An evaluation that will use produce a score result.
weights
The list of score weights associated with each question in the assessment.
Weight
The class that describes a score weight, identifying the weight value(s) and the question to which it should be applied.

Example Assessment Outcome

Outcome
total score 1.5
possible score 10.0
outcome (question #1) The user answered Boolean true. This response was incorrect.
outcome (question #2) The user chose the "Constantinople" choice. This response was correct.

<?xml version="1.0"?>
<rdf:RDF
    xmlns:maqro="http://maqro.org/namespaces/2003/maqro#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>

<maqro:Outcome>

  <maqro:interaction rdf:resource="uri:x-example.org/activities/activityexample1"/>

  <maqro:result>
    <maqro:Score>
      <maqro:evaluation rdf:resource="uri:x-example.org/activities/activityexample1#score"/>
      <rdf:value rdf:datatype="http://www.w3.org/2001/XMLSchema#float">1.5</rdf:value>
      <maqro:possible rdf:datatype="http://www.w3.org/2001/XMLSchema#float">10.0</maqro:possible>
    </maqro:Score>
  </maqro:result>

  <maqro:outcomes rdf:parseType="Collection">
    <maqro:Outcome>
      <maqro:interaction rdf:resource="uri:x-example.org/questions/question1"/>
      <maqro:responses rdf:parseType="Collection">
        <maqro:Dialogue>
          <rdf:value rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</rdf:value>
        </maqro:Dialogue>
      </maqro:responses>
      <maqro:correct rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">false</maqro:correct>
    </maqro:Outcome>
    <maqro:Outcome>
      <maqro:interaction rdf:resource="uri:x-example.org/questions/question2"/>
      <maqro:responses rdf:parseType="Collection">
        <maqro:Dialogue rdf:about="uri:x-example.org/questions/question2#constantinople"/>
      </maqro:responses>
      <maqro:correct rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</maqro:correct>
    </maqro:Outcome>
  </maqro:outcomes>

</maqro:Outcome>

</rdf:RDF>
Outcome
The class that represents the outcome of interaction. Here an outcome is given for the overall activity and for each question the activity contained.
interaction
Indicates the interaction (in this case, an activity) for which an outcome is given.
result
This property povides the result of an evaluation defined in the activity.
Score
The evaluation result for a maqro:ScoreEvaluation.
evaluation
Indicates the evaluation for which a result is being given.
rdf:value (maqro:Score)
The score value.
maqro:possible (maqro:Score)
The property that indicates the total score possible.
outcomes
The list of individual outcomes, each for an interaction in the original activity.
responses
Property that indicates a list of user responses during interaction.
correct
Property that represents a Boolean value indicating whether the user response was considered correct in relation to the question.

Namespaces Referenced

This section is informative.

Dublin Core [DC]
http://purl.org/dc/elements/1.1/
MAQRO
http://maqro.org/namespaces/2003/maqro#
RDF [RDF]
http://www.w3.org/1999/02/22-rdf-syntax-ns#
RDF Schema [RDF Schema]
http://www.w3.org/2000/01/rdf-schema#
XML [XML Namespaces]
http://www.w3.org/XML/1998/namespace
XHTML [XHTML]
http://www.w3.org/1999/xhtml
XPackage [XPackage]
http://xpackage.org/namespaces/2003/xpackage#
XPackage MIME Ontology [XPackage]
http://xpackage.org/namespaces/2003/mime#

OWL Definitions

The following OWL [OWL] definitions provide a normative description of the MAQRO ontology.


<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#">
  <!ENTITY rdfd "http://www.w3.org/2002/rdf-datatyping#">
  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">
  <!ENTITY owl "http://www.w3.org/2002/07/owl#">
  <!ENTITY maqro "http://maqro.org/namespaces/2003/maqro#">
]>
<rdf:RDF
  xmlns:rdf="&rdf;"
  xmlns:rdfs="&rdfs;"
  xmlns:owl="&owl;"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:maqro="&maqro;"
>
  <owl:Ontology rdf:about="&maqro;" xml:base="http://maqro.org/namespaces/2003/maqro">

    <owl:Class rdf:ID="Dialogue">
      <rdfs:comment>Represents an atomic element of one side of the query/response dialogue between a user and an interaction. Typical uses for this class include a question's query, a question choice, and a question answer. For normal text dialogue, the rdf:value property should contain the text of the dialogue as a literal.</rdfs:comment>
    </owl:Class>

    <owl:Class rdf:ID="Interaction">
      <rdfs:comment>An generalization of a point of interaction with a user&mdash;a stopping point around which interaction occurs. The interaction class is abstract, and will be used only through its subclasses.</rdfs:comment>
    </owl:Class>

      <owl:ObjectProperty rdf:ID="category">
        <rdfs:comment>Indicates that the value is a way of categorizing the interaction. The property value should be a literal.</rdfs:comment>
        <rdfs:domain rdf:resource="#Interaction"/>
      </owl:ObjectProperty>

    <owl:Class rdf:ID="Group">
      <rdfs:comment>Associates together several interactions, for example to ensure the interactions stay together during random ordering. A group is considered an interaction, but is used only as a container for other interactions, including other groups. Each group should contain at least one interaction, which may be another group.</rdfs:comment>
      <rdfs:subClassOf rdf:resource="#Interaction"/>
    </owl:Class>

      <owl:ObjectProperty rdf:ID="interactions">
        <rdfs:comment>The list of interactions in the group. Such interactions can include questions, groups, and activities.</rdfs:comment>
        <rdfs:domain rdf:resource="#Group"/>
        <rdfs:range rdf:resource="&rdf;List"/>
      </owl:ObjectProperty>

    <owl:Class rdf:ID="Activity">
      <rdfs:comment>A collection of interactions and their meaning in the context of user activity. An activity is both a group and an interaction, and can appear inside another activity as can other interactions.</rdfs:comment>
      <rdfs:subClassOf rdf:resource="#Group"/>
    </owl:Class>

    <owl:Class rdf:ID="Question">
      <rdfs:comment>A type of interaction that represents a query and expected responses. A question can appear in an activity or stand alone.</rdfs:comment>
      <rdfs:subClassOf rdf:resource="#Interaction"/>
    </owl:Class>

      <owl:ObjectProperty rdf:ID="answer">
        <rdfs:comment>Indicates the correct answer of a question, if the question has a response that could be semantically considered correct. The value of this resource must be a maqro:Dialogue. If only choices are provided, this property's value must be the correct choice. If only a typed response is expected, this property's value must be dialogue with the typed literal representing the correct answer as the value of the dialogue's rdf:value property.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
        <rdfs:range rdf:resource="#Dialogue"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="choices">
        <rdfs:comment>A list of choices to present to the user. This optional property is typically used for questions that do not provide an expected response datatype. Each element in the list should indicate the choice using the maqro:Dialogue class.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
        <rdfs:range rdf:resource="&rdf;List"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="expectation">
        <rdfs:comment>Indicates the type of response to expect. This optional property is used for questions that do not provide choices. The value of this property will be a resource that indicates the expected data type. For example, a resource value with a reference URI of http://www.w3.org/2001/XMLSchema#integer indicates that the question expects an integer response.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="explanation">
        <rdfs:comment>Explains tha rationale behind the question and its answer, if any. In a typical use case, a MAQRO engine will not present the explanation to a user until some point after the user has submitted an answer, because an explanation usually by its nature reveals the correct answer. The value of this property will indicate the explanation text using the maqro:Dialogue class.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
        <rdfs:range rdf:resource="#Dialogue"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="hints">
        <rdfs:comment>An ordered list of hints that provide assistance in answering the question. The order of the hints indicate the preferred order in which such assistance should be provided. Each resource in the list should be a maqro:Dialoge.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
        <rdfs:range rdf:resource="&rdf;List"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="maxResponseCount">
        <rdfs:comment>The maximum number of responses to accept in response to the query. The value must be an xsd:integer indicating the maximum number of responses. If this property is omitted, the maximum number of responses defaults to infinity.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
        <rdfs:range rdf:resource="&rdfs;Literal"/>
      </owl:ObjectProperty>

      <owl:ObjectProperty rdf:ID="query">
        <rdfs:comment>Indicates the part of the question that is asked to a user. The value of this property will indicate the choice text using the maqro:Dialogue class.</rdfs:comment>
        <rdfs:domain rdf:resource="#Question"/>
        <rdfs:range rdf:resource="#Dialogue"/>
      </owl:ObjectProperty>

  </owl:Ontology>

</rdf:RDF>

References

DC
Dublin Core Metadata Element Set, Version 1.1: Reference Description. Dublin Core Metadata Initiative, 1999. (See http://www.dublincore.org/documents/dces/.)
IETF RFC 2396
RFC 2396: Uniform Resource Identifiers. Internet Engineering Task Force, 1995. (See http://www.ietf.org/rfc/rfc2396.txt.)
OWL
Deborah L. McGuinness and Frank van Harmelen, editors. OWL Web Ontology Language Overview Proposed Recommendation. World Wide Web Consortium, 2003. (See http://www.w3.org/TR/owl-features/.)
RDF Schema
Dan Brickley and R.V. Guha, editors. RDF Vocabulary Description Language 1.0: RDF Schema Proposed Recommendation. World Wide Web Consortium, 2003. (See http://www.w3.org/TR/rdf-schema.)
RDF/XML Syntax
Dave Beckett and Brian McBride, editors. RDF/XML Syntax Specification (Revised) Proposed Recommendation. World Wide Web Consortium, 2003. (See http://www.w3.org/TR/rdf-syntax-grammar.)
XHTML
XHTML™ 1.0: The Extensible HyperText Markup Language. World Wide Web Consortium, 2000. (See http://www.w3.org/TR/xhtml1.)
XML Schema Datatypes
Paul Biron and Ashok Malhotra, editors. XML Schema Part 2: Datatypes. World Wide Web Consortium, 2001. (See http://www.w3.org/TR/xmlschema-2/.)
XPackage
Garret Wilson, editor. XML Package (XPackage) 1.0. GlobalMentor, Inc., 2003. (See http://www.xpackage.org/specification/.)

Revision History

This section is informative.

13 January 2004