PhD Work: Design
Contents
- A Domain Ontology for a NLQS
- Dataflow for a NLQS
- Visualizing Ontologies
- Ontology and RDF Data Files Map
- NLP Systems
- An Ontology for Representing User-Controlled Thesauruses
- Datastores
Entries
<< Previous Entry | Next Entry >>
1. A Domain Ontology for a NLQS
In my nine month progress report I determined that the MusicBrainz Initiative ontology for marking up album content, was a good choice of domain to create an NL querying system for, as it met all the criteria I set out. Although the domain itself was good the ontology that marked it up was bad for two reasons:
- The domain coverage was poor.
- The ontology was badly written, i.e. it didn't conform to one particular ontology standard.
I did not initially realise how badly the ontology was written so I was only concerned about improving the domain coverage. I knew an extended MusicBrainz Ontology existed but even after extensive searching I could not find it anywhere. Therefore, I decided to write my own ontology extension, however whilst writing this I realised that the original ontology had inaccuracies that needed to be corrected, therefore it became easier just to write one ontology based on the MusicBrainz Ontology, which I have called it My Music Ontology (MMO)
Once I completed this ontology, I validated it using the University of Manchester's OWL Validator. I found that it didn't even validate as OWL Full. After correcting the mistakes that I realised I introduced myself, I revalidated the ontology and found that although it now validated to OWL Full a lot of "additional messages" were returned. Although some of these messages were purely instructional, the majority of them were warning messages about the use of the wrong vocabulary. This was mainly down the fact that the original ontology tried to define itself as an OWL ontology and used certain OWL constructs but still defined its classes and properties using RDFS, as if it considered itself as a set of schemas not an ontology at all. Therefore I altered the ontology to replace all the instances of rdfs:Class and rdfs:Property with owl:Class and either owl:DatatypeProperty or owl:ObjectProperty (see Defining Properties in OWL). By doing this I managed to remove all the additional warning messages.
I knew that the ontology did not need to be OWL Full, as the domain it is representing is not that complex, therefore I tried to validate it to OWL DL. Unsurprisingly this gave a fair number of new errors. These new errors could be broken down into several camps. Most of these are mentioned in Different Species of OWL. One of the most significant of these was the use of rdf:Bag and rdf:Seq, which are not allowed in OWL DL. These can be removed quite easily, see OWL DL doesn't like RDF:Bag and RDF:Seq. Another significant problem was using OWL properties that are not allowed in OWL DL such as owl:imports, owl:imcompatibleWith, etc. In general these can be removed without affecting how the ontology can be used in most situations. After completing these alterations the ontology finally validated as OWL DL To complement the new ontology some example class instantiations have been written for the classes define within MMO V1.1. All the XML data files currently uploaded in my Triplestore can be found here.