eriq-augustine / psl

The PSL software from the LINQS lab.
Apache License 2.0
4 stars 7 forks source link

Need Crash/Warning On Double Defined Ground Atoms #179

Closed eriq-augustine closed 6 years ago

eriq-augustine commented 6 years ago

The attached model has ground atoms for an open predicate defined both as observations (ObservedAtom) and targets (RandomVariableAtom). PSL currently silently accepts this. We need to make some noise when this happens. Perhaps the severity (warn or crash/error) can be controlled via a config option.

ising-model-simple.tar.gz

eriq-augustine commented 6 years ago

Note that this cannot be enforced at the DataStore level. An advanced user may load multiple partitions for complex experiments. Asking for the Database to handle it once partitions are resolved is also a no-go (too time consuming).

eriq-augustine commented 6 years ago

This is only relevant for open predicates. Maybe we can check in the PAM when we mark the RVAs to persisted (setPersisted()). A duplicate atom would get persisted twice.

But what about lazy?

eriq-augustine commented 6 years ago

Lazy should be fine. LAM now extends PAM.

eriq-augustine commented 6 years ago

Complete in e6d46765d2a2a6dc1f6cfc73f656ed5cd908177f.