I have tried to develop an ontology (in owl, represented as rdf in turtle). It is valid rdf (according to http://rdfabout.com/demo/validator/).
Is there a way to validate that it complies with owl (does that even make sense) or one of its sublanguages (and find out which one)?
Given some rdf data, is it possible to validate that that data complies with the ontology?
What tools do I use to do this?
asked 19 Jan '11, 12:48
You can check whether your ontology is OWL Full (i.e., a valid RDF document), OWL 2 DL, OWL 2 EL, OWL 2 QL or OWL 2 RL with this OWL 2 Validator. However, it performs a purely syntactical validation, so it won't bother if your ontology is inconsistent. To check consistency, you'll have to use a reasoner such as Pellet, HermiT, FacT++, RacerPro (for OWL DL but they work for most non DL ontologies available out there). If your ontology is in a more specific fragment (EL, QL or RL) you can use a reasoner that is specifically tuned for these profiles. See a list of OWL 2 reasoners (last modified May 2010).
Now, if you want to check whether your data conform to an ontology, you can only check consistency of the data wrt the ontology. OWL 2 cannot specify syntactic constraints and cannot constrain the existence of some written information (missing information is not incorrect information). So, to check this, you just throw the data together with the ontology in a reasoner, shake well, and strain into your output glass. If it looks dirty, it's inconsistent. Otherwise, it's fine and ready for consumption.
Edit: I forgot. There are ways of defining integrity constraints for your data, but they are not standardised. One possible way to do it is to impose a certain structure on the RDF/XML form of the data, using XML Schema. You can also use the Pellet Integrity Constraints Validator.