Are they allowed in filter clauses?
Can they be negated (or use a coefficient in any manner)?
Should their values be evaluated like other parts of the expression, or is their coefficient fully ignored?
(All rhetoric questions, the answers have never been explicitly defined.)
The real issue that this brings up is special cases in rules.
There are a bunch of special cases in logical/arithmetic rules that need to be reconciled.
How grounding only predicates (e.g.
(A != B)
) are handled in arithmetic rules is poorly defined. They are definitely allowed in the rule's expression: https://github.com/linqs/psl/blob/develop/psl-parser/src/test/java/org/linqs/psl/parser/ModelLoaderTest.java#L1002Are they allowed in filter clauses? Can they be negated (or use a coefficient in any manner)? Should their values be evaluated like other parts of the expression, or is their coefficient fully ignored? (All rhetoric questions, the answers have never been explicitly defined.)
The real issue that this brings up is special cases in rules. There are a bunch of special cases in logical/arithmetic rules that need to be reconciled.