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

dru-zod's gravatar image

accept rate: 0%

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.


answered 19 Jan '11, 19:02

Antoine%20Zimmermann's gravatar image

Antoine Zimm... ♦
accept rate: 31%

edited 20 Jan '11, 09:04

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 19 Jan '11, 12:48

Seen: 4,724 times

Last updated: 20 Jan '11, 09:04