The use of anonymous IDs causes an IllegalArgumentException().
The problem seems to lie in IrisFacade.wsmoTermConverter(), specifically these lines:
} else if (t instanceof Identifier) {
// i doupt we got something analogous in iris -> exception
} else if (t instanceof NumberedAnonymousID) {
// i doupt we got something analogous in iris -> exception
} else if (t instanceof UnnumberedAnonymousID) {
// i doupt we got something analogous in iris -> exception
}
The correct behaviour is to create a unique ID for each occurrence of an UnnumberedAnonymousID.
However, NumberedAnonymousID is harder, because this should be unique within one logical expression, therefore the logical expression context needs to be considered when converting term types.
Perhaps anonymous ID types should not even be getting as far as the underlying reasoner.
At this point, it is impossible for IRIS to know the context of a numbered anonymous ID and so it is not possible to correctly create an appropriate IRIS term (IRIS would not know when to create two terms with the same value if they occur in the same logical expression).