Let's say I have to define a custom datatype :abcDatatype that contains only the string values "a", "b" and "c", so that I can use it as a range of some property, like this:
and then use it to describe some individual like this:
Defining my datatype as follows (which is compliant to OWL2 primer) and checking the consistency of the whole model, the Pellet reasoner does not raise any issue:
On the contrary, if I define it as follows, then Pellet says the model is not consistent because Literal value "a"^^string does not belong to datatype abcDatatype:
Is there any way to define a custom datatype without using the blank node? Any explanation about this will be very welcome.
As you use Pellet, an OWL 2 DL reasoner, for parsing an RDF graph, I expect that you actually want to have an answer to the following question:
So let's have a look into Chap. 3 of the OWL 2 Mapping to RDF Graphs document, which defines the reverse RDF mapping. All we have to do is to check for all the table entries including the property
First, we can exclude all those entries that refer to enumerations of individuals, i.e., those enumerations that result into classes, as OWL 2 DL strictly separates between classes and datatypes. These "forbidden rules" are those in the tables 13, 15, and 18.
So let's go through the remaining entries that are really about data enumerations:
And that's it! Sorry, there is no mapping rule for your case, so an RDF graph with your triples cannot be an "OWL 2 DL ontology in RDF graph form". That's what the spec says. This doesn't stop OWL 2 DL tools in the wild to still treat such input, but it is then a tool-specific thing.
For completeness, your triples are, of course, syntactically valid OWL 2 Full (simply because every RDF graph is valid OWL 2 Full), and they also lead to the expected semantic meaning of a datatype consisting of three strings in OWL 2 Full. One can see this from Table 5.5 of the OWL 2 RDF-Based Semantics, although a bit of proving using the rest of the document is needed. :-)
answered 30 Mar '12, 16:54
Michael Schn... ♦