TL Ontologies
Web 2.0 and ontologies
Web 2.0 technologies are being applied to Teaching and Learning. One of the fundamental technologies is ONTOLOGY. One interpretation can be stated as “An ontology is a framework containing structured information with embedded information relating to other structured information”. The information is not related by external implicit meta-information (as might be the case in a traditional server-client database) but explicitly related to external information. Relating the internal and external information requires an interpreter. Part of the world wide web may be seen as a collection of ontologies with Servers and Clients as the interpreters. XML (eXtensible Markup Language), able to be understood by all modern Web browsers, and a generalisation of HTML, is now being used to express information in human and machine readable form required for Web 2.0.
Publishing using XML
Update: 2010-09-12. The System Events OSAX in Snow Leopard now contains an XML suite. It currently only provides rudimentary access to attributes, data and elements of an XML formatted file, presumably to support property List files used to store persistent system data. Satimage also provide a very comprehensive suite of tools for manipulating XML files (called XMLLib based on the LibXML2 open source software project)
Schools are now beginning to publish information about themselves as web sites. Currently this is done using HTML - usually with static information constructed as simple linked pages. The next generalisation is dynamic pages- that are generated as required but are still linked in relatively simple ways. A further generalisation uses XML to embed ontological information.
Course information for use by teachers and students can be published using XML rather than HTML. To avoid ad hoc site development, designers may consider first constructing a teaching and learning ontology and then implementing the site within that framework. An example of a small part implementation is given below. It refers to a suitable framework for maintaining an individual learning program based on a Stage 6 Science syllabus published by the NSW Board of Studies. This framework can be utilised by any application able to interpret XML. For example, Filemaker Pro understands XML and could construct a plain database from importing documents using the TaLOS-1 framework. FileMaker Pro can also export XML as a document.
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<!-- TALOS-1 framework - model 2008 -->
<learning_program title="text" learner="text" manager="text" begin="date" finish="date" support="webpage" >
<module name="text" sequence= "number" status="status" registration="status" >
<context location="loc" support="webpage" >
content0
</context>
<assumed_knowledge location="loc" support="webpage" >
content1
</assumed_knowledge>
<frame_item sequence="number" name="text" >
<learn_to>
<dot_point sequence="number" support="webpage" status="status" >
content2
</dot_point>
</learn_to>
<learn_do>
<dot_point sequence="number" support="webpage" status="status" >
content3
</dot_point>
</learn_do>
</frame_item>
<resource location= "loc" support="webpage" >
content4
</resource>
<practical location= "loc" support="webpage" >
content5
</practical>
<assessment location= "loc" status ="status" begin="date" finish="date" support="webpage" >
content6
</assessment>
<evaluation location= "loc" status ="status" begin= "date" finish="date" support="webpage" >
content7
</evaluation>
</module>
</learning_program>
Some Definitions
- webpage ::= a valid web page reference-- eg. http://location/folder/file.htm
- date ::= a valid ISO date -- eg. ‘2008-01-01’
- contentX ::= ‘ any text { X: 0... }- - eg. “ No change required”
- title ::= ‘ any text
- number ::= ‘ sequenced number-- eg. ‘101’
- status ::= [ done | current | pending ] -- enumerated item not checked
- learner ::= ‘ any text -- generally a class name eg. ‘10S1’ or student name eg. ‘Jon Smith’
- manager ::= ‘ any text
- loc ::= [ external | internal ] -- enumerated item not checked
-- Teaching And Learning Ontology Language Schema-1 (TALOS-1) Interpreter
-- by Ian Parker first worked on 2007-10-04 Last worked on 2008-01-17
-- information for managing school teaching and learning programs
-- in addition to manual entry a record should be able to be automatically generated
-- from this for a particular domain of interest eg. student progress reporting
-- requires the OSAX 'XML Tools' by © 1993-2000 Mark Alldritt & Late Night Software Ltd
-- xml_target has been formatted, internally " replaced by \" so it can be read by Applescript
-- normally it would be the contents of a text file (with .xml extension) or part of a web page
set xml_target to ¬
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" standalone=\"yes\" ?>
<learning_program title=\"text\" learner=\"text\" manager=\"text\" begin=\"date\" finish=\"date\" support=\"webpage\" >
<module title=\"text\" sequence= \"number\" status=\"status\" registration=\"status\" >
<context location=\"loc\" support=\"webpage\" > content </context>
<assumed_knowledge location=\"loc\" support=\"webpage\" >
content1
</assumed_knowledge>
<frame_item sequence=\"number\" title=\"text\" >
<learn_to>
<dot_point sequence=\"number\" support=\"webpage\" status=\"status\" >
content2
</dot_point>
</learn_to>
<learn_do>
<dot_point sequence=\"number\" support=\"webpage\" status=\"status\" >
content3
</dot_point>
</learn_do>
</frame_item>
<resource location= \"loc\" support=\"webpage\" >
content4
</resource>
<practical location= \"loc\" support=\"webpage\" >
content5
</practical>
<assessment location= \"loc\" status =\"status\" begin=\"date\" finish=\"date\" support=\"webpage\" >
content6
</assessment>
<evaluation location= \"loc\" status =\"status\" begin= \"date\" finish=\"date\" support=\"webpage\" >
content7
</evaluation>
</module>
</learning_program>"
-- the aim of this part is to parse and extract embedded information in this XML schema
set x to parse XML xml_target
-- obtain the high level entry and attributes list
set {title1, attrib_list1, content} to {XML tag of x, XML attributes of x, XML contents of x}
set module_content to item 1 of content -- process module
set {title2, attrib_list2, module_content} to {XML tag of module_content, XML attributes of module_content, XML contents of module_content}
-- moved down a level
set module_context to item 1 of module_content -- process context item
set {title3, attrib_list3, module_context} to {XML tag of module_context, XML attributes of module_context, XML contents of module_context as string}
set assumed to item 2 of module_content -- process assumed_knowledge item
set {assumed_know, attrib_assumed, assumed_know} to {XML tag of assumed, XML attributes of assumed, XML contents of assumed as string}
--
set frame_item to item 3 of module_content -- process frame_item item
set {frame_title, attrib_frame_item, frame_item} to {XML tag of frame_item, XML attributes of frame_item, XML contents of frame_item}
-- moved down a level
set {frame_item, theCount} to {frame_item, count of items in frame_item}
-- learn_to (more generally will be a list)
set {learn_to, attrib_learn_to} to {XML tag of (item 1 of frame_item), XML contents of (item 1 of frame_item)}
-- learn_do (more generally will be a list)
set {learn_do, attrib_learn_do} to {XML tag of (item 2 of frame_item), XML contents of (item 2 of frame_item)}
--
set resource to item 4 of module_content -- process resource
set {resource, attrib_resource, resource_content} to {XML tag of resource, XML attributes of resource, XML contents of resource as string}
--
set practical to item 5 of module_content -- process practical
set {practical, attrib_practical, practical_content} to {XML tag of practical, XML attributes of practical, XML contents of practical}
--
set assess to item 6 of module_content -- process assessment
set {assessment, attrib_assessment, assessment_content} to {XML tag of assess, XML attributes of assess, XML contents of assess as string}
--
set set_eval to item 7 of module_content -- process evaluation
set {eval_title, attrib_eval, eval_content} to {XML tag of set_eval, XML attributes of set_eval, XML contents of set_eval as string}
___________________________________________________________________________
This represents the interpreter for TALOS-1. A string is used to test it. The XML content used here is generic. Moreover so that this prototype example is short, no attempt has been made to check for valid content either by use of a DTD or in the interpreter. The XML file must be constructed by another application capable of composing the correct structure and useful content. Incidentally, if you wish to check an XML file, just load it into a modern web browser..it will either pass or fail.