ECS-TV System Details
RDF & The ECS-TV Ontology
ECS-TV uses both mysql and a 3Store to store the information required for all the various interfaces. Mysql handles the data related to the live services such as the central playlist while an RDF triple store (3Store) is used to store all the data related to stored lectures and other content available via the interactive system.
The ECS-TV Interactive Database
This section gives a detailed outline of the data used in the interactive system including the namespaces involved. This includes ECS-TV's own namespace, the ontology of which is also decumented in this section.
Namespaces
A namespace consists of a unique name that identifies an organization that has developed an XML schema. A namespace is identified via a Uniform Resource Identifier (URL or URN). The use of namespaces allows the definition of an element to be unambiguously identified with a URI, even though a label may occur in many metadata sets. In more general terms, one can think of any closed set of names as a namespace. Thus, a controlled vocabulary consisting of a set of metadata elements such as DC, or the set of all URLs in a given domain can be thought of as a namespace. Global namespaces such as the Dublin Core namespace are managed by the authority that is in charge of that particular set of terms and a vocabulary is made available which can be easily referenced by others.
The following namespaces are used in the ECS-TV project:
In RDF namespaces can be defined at the top of the XML document as namespaces and prefixes are then used throughout the document. Thus foaf:name becomes http://xmlns.com/foaf/0.1/name when stated as a full URI.
The ECS-TV Namespace
NOTE:For full details of the data stored by ECS-TV please refer to the Project Report by David Tarrant for ECS-TV dated May 2000, section 4.9.
An Electonic copy is available here.
ECS-TV Namespace = http://www.ecstv.ecs.soton.ac.uk/ontology/ecstv/
Classes/Objects
The ontology has 2 main parts. The first represents the Classes, which each item is an instance of. This triple is commonly represented in RDF as subject -> rdf:type -> Class. Figure 7.1 shows the classes defined in the ECS-TV ontology.
| Attribute |
Description |
| ecstv:Media |
Define an item as a media item, used in conjuction with rdfs:type |
| foaf:Organisation |
Define your subject as an Organisation. |
| ecstv:University |
University - Type of Organisation. |
| ecstv:School |
School - Type of Organisation. |
| ecstv:Group |
Group - Type of Organisation. |
| foaf:Person |
Define your subject as a Person. |
| ecstv:Company_Member |
Company Member - Type of Person. |
| ecstv:University_Member |
University Member - Type of Person. |
| ecstv:Staff |
Staff - Type of University_Member. |
| ecstv:Academic_Staff |
Academic related staff - Subclass of Staff |
| ecstv:Systems_Staff |
Systems related staff - Subclass of Staff |
| ecstv:Student |
Student - Type of University_Member. |
| ecstv:Degree |
Define your subject as a degree. |
| ecstv:Unit |
Define your subject as a unit, usually this is related to a Degree. |
Figure 7.1 - Classes/Objects in the ECS-TV ontology.
Predicates
Predicatess relate a subject to an object or data, it is very important that these can be parsed efficiantly to make inferences upon the data. It is advised to use predicates from existing popular namespaces which are already well established however this is not always posible therefor some in our own namespace have to be used. Figure 7.2 shows those predicates specifically designed for use in the ECS-TV system.
| Attribute |
Relates to |
Description |
| ecstv:partOf |
All but Media |
Information regarding stating that the subject is partOf the Object. |
| ecstv:providedBy & ecstv:hasProvider |
Media and Units |
Relates to the provider of the content in question, not this is different from owner as provider maybe outside of the scope of the local organisation.ecstv:hasProvider due to be depricated in the near future. |
| ecstv:hasCourseRelation |
Media |
This item is a direct rdf:resource link to a Unit object. |
| ecstv:hasUniversityRelation |
Media |
This item is a direct rdf:resource link to a University object. Intended for deprication in the near future to be replaced with ecstv:providedBy |
| ecstv:hasSchoolRelation |
Media |
This item is a direct rdf:resource link to a School object. Intended for deprication in the near future to be replaced with ecstv:providedBy |
| ecstv:hasGroupRelation |
Media |
This item is a direct rdf:resource link to a Group object. Intended for deprication in the near future to be replaced with ecstv:providedBy |
| ecstv:hasAudio |
Media |
Audio object relating to the current item. |
| ecstv:hasMedia |
Media |
Reference to full media relating to the current item. |
| ecstv:sequenceNumber |
Media |
Sequence number of this item if part of a set. |
| ecstv:acl |
Media & Person |
The items "Access Control List" stating what permissions are required in order to be able to view the item. |
| ecstv:status |
Person |
A persons status at an organisation such as a university eg, undergrad, postgrad & staff. |
| ecstv:memberOf |
Person |
A persons memberships as direct rdf:resource object links. |
| ecstv:visibility |
Person |
A persons visibility on the web (local and global). |
| ecstv:submission |
Person |
Provides the access rights for a person to be able to submit content to the system, specific to ECS-TV. Should really be a hidden attribute, i.e. not in this document! |
| ecstv:organisation_name |
Company Member |
The name of the Organisation a company member works for. |
| ecstv:department_name |
Company Member |
The name of the Departmant with an Organisation a company member works for. |
| ecstv:ucas_code |
Degree |
The Degree code. |
| ecstv:yearOfStudy |
Degree & Units |
Year of study of the Degree item. |
| ecstv:semesterOfStudy |
Unit |
Relating to course details this is a spcific field which relates a course to its period of study. |
| ecstv:facultyUnitCode |
Unit |
Relating to course details this is a spcific field which relates a course to a University wide Faculty code, note that more than one faculty code could apply to a single course, hense this field is not unique. |
| ecstv:compulary |
Unit |
States if a Unit is compulsary on a program of study. |
Figure 7.2 - Available predicates in the ECS-TV ontology.
ECS-TV Database Structure
Figure 7.3 shows the relationships drawn between the many objects in the ECS-TV database, this entity relationship diagram only shows those relations required to be supplied by the users to keep the structure intact. Other inferences are drawn upon the data based upon those realtions provided by the users. Figure 7.4 shows the current structure of each 'table' within the database system, the data from these virtual tables in then used to produce objects of the classes outlined in figure 7.1.
Figure 7.3 - Entity Relationship Diagram for ECS-TV
Note: The key here tells us which fields require an rdf:resource link to another object. The majority of these relationships are shown in figure 7.3 above. All other items expect a simple plain text (CDATA) input.
| KEY |
 |
CData: Plain text data |
 |
Resource: Link to other object/resource. |
| ecstv:Unit |
| ecstv:providedBy |  | | ecstv:partOf |  | | rdfs:label |  | | foaf:name |  | | ecstv:facultyUnitCode |  | | ecstv:yearOfStudy |  | | ecstv:semesterOfStudy |  | | ecstv:compulsary |  |
|
| ecstv:Degree |
| ecstv:providedBy |  | | ecstv:ucas_code |  | | rdfs:label |  | | foaf:name |  | | ecstv:yearOfStudy |  |
|
| ecstv:University |
| rdfs:label |  | | foaf:name |  | | contact:address |  | | contact:phone |  | | contact:fax |  | | foaf:homepage |  | | foaf:mbox |  | | contact:mailbox |  |
|
| ecstv:School |
| ecstv:partOf |  | | rdfs:label |  | | foaf:name |  | | contact:address |  | | contact:phone |  | | contact:fax |  | | foaf:homepage |  | | foaf:mbox |  | | contact:mailbox |  |
|
| ecstv:Group |
| ecstv:partOf |  | | rdfs:label |  | | foaf:name |  | | contact:address |  | | contact:phone |  | | contact:fax |  | | foaf:homepage |  | | foaf:mbox |  | | contact:mailbox |  |
|
| ecstv:University_Member |
| foaf:surname |  | | foaf:firstName |  | | foaf:mbox |  | | contact:mailbox |  | | ecstv:memberOf |  | | ecstv:status |  | | contact:address |  | | contact:phone |  | | ecstv:int-tel |  | | contact:fax |  | | foaf:homepage |  | | foaf:workplaceHomepage |  |
|
| ecstv:Company_Member |
| foaf:surname |  | | foaf:firstName |  | | foaf:mbox |  | | contact:mailbox |  | | ecstv:status |  | | ecstv:organisation_name |  | | ecstv:department_name |  | | contact:address |  | | contact:phone |  | | contact:fax |  | | foaf:homepage |  | | foaf:workplaceHomepage |  |
|
| Course_Lecture |
| ecstv:hasUniversityRelation |  | | ecstv:hasSchoolRelation |  | | ecstv:hasGroupRelation |  | | foaf:name |  | | rdfs:label |  | | ecstv:sequenceNumber |  | | ecstv:extraInfo |  | | ecstv:hasProvider |  | | ecstv:hasCourseRelation |  |
|
| Seminar_Lecture |
| ecstv:hasUniversityRelation |  | | ecstv:hasSchoolRelation |  | | ecstv:hasGroupRelation |  | | foaf:name |  | | rdfs:label |  | | ecstv:extraInfo |  | | ecstv:hasProvider |  |
|
Figure 7.4 - Current structure of the ECS-TV virtual tables.