The use of rdfs:range and the classize transformation for describing components was taken from the sns-graft pipeline where we all apply a class to the codes as part of a single loading pipeline.
I had originally hoped this would support validation, but I have since learned that rdfs:range is actually used to make inferences, not to validate constraints. In other words:
given the tbox:
dim:age rdfs:range class:Age
and abox with (invalid data):
obs1 dim:age code:Male
inference will give you (false, but consistent data):
code:Male a class:Age
I now think we should validate integrity constraints by another means (see #97 for more).
We should, therefore, remove the rdfs:range statements and classize function etc.
The use of
rdfs:range
and theclassize
transformation for describing components was taken from the sns-graft pipeline where we all apply a class to the codes as part of a single loading pipeline.I had originally hoped this would support validation, but I have since learned that
rdfs:range
is actually used to make inferences, not to validate constraints. In other words:given the tbox:
dim:age rdfs:range class:Age
and abox with (invalid data):obs1 dim:age code:Male
inference will give you (false, but consistent data):code:Male a class:Age
I now think we should validate integrity constraints by another means (see #97 for more).
We should, therefore, remove the rdfs:range statements and
classize
function etc.