declared maximun value for that restriction. There
are no problems in the case of working with
DataType properties, but in the case of Object type
properties, we can test the differences when
individuals are different or not. We have validated
the following possibilities:
1) Exceeding the Maximum Cardinality of a
DataType Property. We changed the restriction
associated to the property hasExtension,
defining as maxCardinality the value "2". With
this assumption, should fail in the case of the
individual "Java" of the class
lenguajeProgramacion, which has three
properties of this type. In this case, the reasoners
generate incorrect validation reports (table 1).
The Default OWL and OWL reasoners behave
in the same way. There are two types of warning
in reports: one about the classes and subclasses
to which the individual "Java" belongs and
another one referred to nodes with names
related to the ID assigned to each constraint that
define each subclass. In the case of OWL Micro
reasoner the message only shows the first
occurrence where there is conflict and stops
validation. Pellet also shows a validation
message that is enough to verify that it has
exceeded the value of a particular property, but
it does not show what the individual or class is
affected.
2) Exceeding the Maximum Cardinality of an
Object Property without defining the
Individuals involved as Different. We changed
one of the restrictions,
supportsOperatingSystem, defining a maximum
cardinality "2", in order to see how it acts on
individuals (as "Prolog", "SQL", "Java") which
have assigned more than 2 operating systems.
We can realize in this case the validation is
successful with all the reasoners (table 1),
because we have to explicitly state that
individuals are different for the cardinality
constraints operate as desired although each of
the three individuals has various instances of
supportsOperatingSystem property. Here it is a
consequence of the paradigm OWA because it
cannot cause any definitive deductions whether
knowing if the individuals are identical or not.
3) Exceeding the Maximum Cardinality of an
Object Property identifying the Individuals
involved as Different. We took the same case
as above excepting that define the operating
systems as different from each other (for this
example, four individuals: "Windows", "Linux",
"MacOSX" and "Solaris"). To do this, the
individual "SQL" of ProgrammingLanguage
was modified by adding the four instances for
the property supportsOperatingSystem. In this
case, validation should be wrong for all
reasoners. But Pellet reasoner was the only one
that detected that cardinality is exceeded for any
individual. This is because the sublanguage on
which are built the OWL Jena reasoners, OWL
Lite, only supports 0 or 1 as cardinality
constraints (Reynolds, 2010). So we can
consider this limitation and change the value of
the maximum cardinality from 2 to 1. The
validation with this change produces the results
shown in table 1. In this case, the OWL default
reasoner gets hooked in an infinite loop trying to
insert blank nodes for all generated classes that
take the cardinality constraint, throwing an
exception message. OWL Mini reasoner is very
helpful to avoid this because it prevents these
expansions and performs validation controlling
this inconsistency in the model. Finally, Pellet
also locates directly this inconsistency.
3 CONCLUSIONS
From results of test cases we can conclude that the
reasoners embedded in Jena to provide inference and
validation are incomplete and with important
limitations. In the case of OWL reasoners, the
validation capacity is quite limited, assuming as
valid cardinality restrictions broken in the ontology.
In these situations, the external reasoner Pellet
provides a more complete reasoning based on OWL
DL version with shorter response times. Moreover,
certain aspects of the programming interface are
obsolete, as Jena has been built based on OWL 1.
ACKNOWLEDGEMENTS
This research has been partially funded in Spain by
CAM and UAH (grant CCG10-UAH/TIC-5915).
REFERENCES
Pellet, 2011. Pellet: OWL 2 Reasoner for Java, Clark &
Parsia. http://clarkparsia.com/pellet.
Reynolds, D., 2010. Jena 2 Inference support, souceforge.
http://jena.sourceforge.net/inference/index.html.
ICSOFT 2011 - 6th International Conference on Software and Data Technologies
422