Menu

FAQ Log in to Edit

FAQ (1)
Alexander Paar

FAQ

It is quite normal in a DL knowledge base to refer to previously undeclared classes. Why should this be "punished" with an exception in Zhi#?

This exception can be caught and discarded. We follow the approach as suggested by Jena or Pellet, which also throw exceptions in this case. Also, OWL2 added the possibility to declare entities, and so we assume that a stricter checking is desirable in order to increase the chance to avoid typo errors. But as said, exceptions can simply be caught and discarded.

What about unnamed classes?

In the current version of the Zhi# programming language, OWL classes must be named to be accessible in Zhi# programs. It is conceivable to complement the semantic extensibility of Zhi# with syntactic extensibility to allow for anonymous OWL class declarations or XML data type definitions in Zhi# program code.

An inconsistent knowledge base leads to an exception. In many DL applications, the construction of an inconsistent knowledge base is part of modeling the problem, for example to delineate between valid and invalid configurations modeled in a DL knowledge base. Then an inconsistency should not necessarily lead to an exception, but it should be made queriable for programming the configuration system.

InconsistentOntologyExceptions in Zhi# facilitate the detection of inconsistent ontologies. In the "catch"-clause of a "try-catch"-statement in a Zhi# program the CHIL OWL API (or any other OWL API) can be used to investigate the reason for the inconsistency. For example, the CHIL OWL API provides the getValidityReport() method for this purpose.

Zhi# supports covariant coercions - what does this mean for OWL/RDFS?

For variable definitions, the type of the right operand (i.e. the rvalue) must be subsumed by the type of the left operand (i.e. the lvalue). Zhi# supports covariant coercions for all types except XML array types. This means that coercion is also done over inferred subclasses.

Is subproperty reasoning supported?

Yes, Zhi# fully considers OWL DL, including subproperty reasoning.

Does Zhi#'s OWL plug-in handle dynamic cycles in a subclass hierarchy? For example A subclass B and C subclass A.

OWL DL is fully supported. The above case is handled correctly and is part of the Zhi# regression test code available online.

Does Zhi#'s OWL plug-in support owl:imports? If an ontology imports another one, will it be fetched and reasoned over?

Yes, it will. This is the reason why the Zhi# compiler might require an Internet connection.

Does Zhi#'s OWL plug-in handle both explicit and inferred ontological equality?

Both explicit as well as inferred ontological equality is considered.


Discussion

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.