All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.coode.suggestor.api.package.html Maven / Gradle / Ivy




The suggestor is a set of non-standard reasoning queries that support knowledge exploration.

It uses a DL reasoner to present the ontology as an "existential tree".

For example, in the following small ontology

ObjectProperty(p)
ObjectProperty(q)
ObjectProperty(r)
ObjectProperty(s)

SubClassOf(C, SomeValueFrom(p, F))
SubClassOf(C, SomeValueFrom(p, F2))
SubClassOf(C, MinCardinality(1, q, G))
SubClassOf(C, not(SomeValueFrom(s, Thing)))

We could present these axioms as

  • C has properties p and q
  • C has values F and F2 for property p
  • C has value G for property q
  • C could have property r
  • C cannot have property s

All queries can be made of arbitrary class expressions. Eg

  • IntersectionOf(D, SomeValuesFrom(p, F)) has property p
  • IntersectionOf(D, SomeValuesFrom(p, F)) could have property r
  • IntersectionOf(D, SomeValuesFrom(p, F)) has value F for property p

We might use the suggestor for many applications. Some examples might be

  • directing user creation of class definitions, class expressions or individuals, ensuring satisfiability and reducing redundancy.
  • creation or display of a "frames-style" view of an ontology, treating properties as slots.

Sanctioning

What we can possibly say about a class is often too broad to be useful, so heuristics may be used to define subsets of what is possible, those things that are more "interesting". This is known as sanctioning in this framework.

In the suggestor, sanctioning is pluggable. This is to allow developers freedom to use various notions of "interesting" when performing knowledge exploration. Sanction rules are registered with a suggestor and are queried in turn. A sanction rule is a positive test. The suggestor continues to process rules until it finds one that returns true (sanctioned) or until no other rules exist (not sanctioned).

Several implementations of sanctioning rules exist. {@link org.coode.suggestor.api.PropertySanctionRule} and {@link org.coode.suggestor.api.FillerSanctionRule} can be implemented to add further behaviours.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy