Guidelines for the revision of the MAWG ontology example files

The Ontology for Media Resources 1.0 is now a Candidate Rec. In order to exit this phase, the MA WG must fulfill the CR exit criteria
To do so we must provide for each format listed in the testsuite an associated RDF/OWL file for correspondence between the core properties and the RDF vocabulary.
Each format  has at least one example file covering a subset or all of the properties of the core vocabulary of the Media Ontology available for each format (e.g some formats may not have a mapping to all the properties core set; for example the "MP4" format does not have a property mapping to the "identifier" property of the core vocabulary of the Media Ontology). For formats providing an exemple using only a subset of the properties of the core vocabulary, the missing properties will be highlighted in the corresponding mapping tables.

To achieve this goal, and produce valid examples, please follow the 3 procedures:

1- RDF File editing and validation

The editing of your example must be done as described in the following :

Your RDF file should start like this:

<?xml version="1.0" encoding="UTF-8"?>
<!-- created by hand by Thierry MICHEL (W3C) for Dublin Core example file : version 4 -->
<rdf:RDF xmlns="http://www.w3.org/ns/ma-ont#"
xmlns:ma="http://www.w3.org/ns/ma-ont#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:more="........." >

<owl:Ontology>

    <owl:imports rdf:resource="http://www.w3.org/ns/ma-ont"/>
</owl:Ontology>

For example of valid RDF files please refer to MPEG7, DublinCore or EBU RDF files

2- Examples  validation with the Media Ontology

The validation of your example vs the MA Ontology is done using Protege as described following:

1: Installation of required tools:

The Protege OWL editor [1] in combination with the reasoners Pellet [2] and Fact++ [3] are used for the validation purpose.
(Since Fact++ doesn't support datatype reasoning fully [4], I recommend the usage of Pellet in first place. I use Fact++ to doublecheck the results)

1.1: Get Protege
Download Protege 4.0.2 from here (platform independent installer program):[5]
Remark: I recommend to use Protege 4.0.2 and not the latest availabe version (Prot訩 4.1 Release Candidate 5) since I have experienced problems with the representation of anonymous nodes as well as reasoning issues.

1.2 Install Protege
Shouldn't be a big deal - just follow the installation instructions.

1.3 Get Pellet reasoner plug-in for Protege
Download the reasoner plug-in from here: [6] and put the file in the "plugin" directory of your Protege installation.
Alternatively the auto-update feature of Protege can be used to obtain the reasoner plugin - for a detailed description, I refer to: [7]

1.4 Get Fact++ reasoner plug-in for Protege
Since this plug-in is already included in the Protege distribution, no additinal installation steps are required

2. Load your Media Ontology example

2.1 Start Protege and load your Media Ontology example
Select "File -> Open"

Don't forget to add the owl:imports statement in your example ontolgy in order to link to the Media Ontology definitions which are needed for reasoning.
Example code: <owl:Ontology> <owl:imports rdf:resource="http://www.w3.org/ns/ma-ont"/></owl:Ontology>

After the example ontolgy has been loaded correctly, you should be able to browse through the availabe concepts, properties and individuals by selecting the respective tabs.
Try to browse through the class hierarchy including subclasses ("Classes" tab) in order to verify if the Media Ontology definitions (owl:imports assertion) are present. 

3 Perform reasoning

3.1 Reasoner selection
In order to choose either Pellet (preferred) or Fact++, select "Reasoner -> Pellet", respectively "Reasoner -> Fact++"

3.2 Start reasoning
Click "Reasoner -> Classify..." and new knowledge based on the given ontolgy information will be inferred.
In case of an invalid ontolgy, the concerning reasoner errors will be reported (Pellet reasoner).

3.3 Discover new inferred knowledge
By using a reasoner it is possible:

3.3.1 infer super class memberships
e.g. all individuals of class ma:VideoTrack are displayed as inferred members of class ma:MediaFragment
-> go to the "Class" tab and then select "Inferred class hierarchy"

3.3.2 infer inverse property relations
e.g. ma:hasCreator statement infers ma:hasCreated statement
-> go to the "Individuals" tab and browse through the individuals. Newley inferred knowledge about individuals is highlighted using yellow background color.

3.3.3 infer super properties relations
e.g. ma:features statement infers ma:hasContributer statement
-> go to the "Individuals" tab and browse through the individuals. Newley inferred knowledge about individuals is highlighted using yellow background color. 

3- Mapping table update

When your RDF example is done according to [section1] and validated with Protege.as described in [section 2]
Please fill in the corresponding mapping table format for your file.
For each mapping table, there is now an extra column called "Tested".

This column enables to track the ma properties for which there is a mapping to the format and if it is used  (implemented) or not used in your RDF file for that format.
Please indicate in your format for each property:
- "Yes" if the ma property has a mapping to your format and it is used in your RDF example.
- "No" if the ma property has a mapping to your format but if it *not used* in your RDF example.
- "N/A" if the ma property does not have a mapping to your format

Please fill the HTML mapping table for your format linked from
http://www.w3.org/2008/WebVideo/Annotations/drafts/ontology10/CR/mappings_tested/

This will enable to fulfill the CR exit criteria introduced by the Director

Each format listed in the testsuite for Ontology for Media Resources 1.0 has at least one example file covering a subset or all of the properties of the core vocabulary of the Media Ontology available for each format (e.g some formats may not have a mapping to all the properties core set; for example the "MP4" format does not have a property mapping to the "identifier" property of the core vocabulary of the Media Ontology). For formats providing an example using only a subset of the properties of the core vocabulary, the missing properties will be highlighted in the corresponding mapping tables.