Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Override equals in BasicKnowledgeAssetLIMSE (or in some superclass) #2

Open
RalphBln opened this issue Feb 3, 2015 · 2 comments
Open

Comments

@RalphBln
Copy link
Member

RalphBln commented Feb 3, 2015

Checking two instances of BasicKnowledgeAssetLIMSE for equality is not possible at the moment (I'm not even sure what equality of two knowledge resources would actually mean. E.g., are two resources on different abstraction levels still equal if they represent the same thing?).

@greenTara
Copy link
Contributor

The "LIMSE" part is implementation, so we need to decide this issue at the level of BasicKnowledgeAsset.

Case 1. Preserving Environment, not necessarily Focused
A BasicKnowledgeAsset in a preserving environment
is essentially an equivalence class, defined (in theory) by specifying an EquivalenceRelation and a prototypical BasicKnowledgeExpression member. Given two BasicKnowledgeAssets A and B, to be equal the following should hold:

  • their environments are equal, which implies that their preserving EquivalenceRelations are equal
  • every member of A is a member of B, which can be checked by applying the EquivalenceRelation to the two prototypical members

Case 2. Not a Preserving Environment, but is Focused
In this case a BasicKnowledgeAsset is not an equivalence class, it is just a set of expressions that can be generated by its environment. For equality in this case,

  • their environments are equal,
  • their canonical members (in the focus language) are equal.

If the asset is defined by a prototype rather than a canonical expression, then the prototype must be translated into the focus language.

Case 3. Neither Preserving or Focused

  • their environments are equal
  • their prototype members are equal

@greenTara
Copy link
Contributor

In regard to your question, two KnowledgeResources must have the same abstraction level to be equal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants