Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:2009:present:alsvfd [2009/05/24 23:20] jsi08 |
pl:miw:2009:present:alsvfd [2019/06/27 15:50] (aktualna) |
| |
===== ANY and NULL ===== | ===== ANY and NULL ===== |
In case the value of A_i is unspecified we shall write A_i = NULL (a database convention). | * In case the value of A_i is unspecified we shall write A_i = NULL (a database convention). |
| * Following a Prolog convention and logic, a //ANY// attribute value is possible in comparison (see''_'' in Prolog). |
Following a Prolog convention and logic, a //ANY// attribute value is possible in comparison (see''_'' in Prolog). | * The semantics can be: "any value", "not important", etc. |
| * The solution: |
The semantics can be: "any value", "not important", etc. | * in preconditions, we can only use //ANY//, i.e. an atom such as ''A=_'' can be specified, meaning "any value", "all possible values of the attribute", "we don't care" |
| * on the other hand, attribute A unspecified, in the state formula means ''A=NULL'', so we store NULL in state |
The solution: | * here we come to an inference rule: ''A=NULL'' ==> ''A=_''. Seems to be valid... This rules should be optionally disabled/enabled in the inference engine. |
* in preconditions, we can only use //ANY//, i.e. an atom such as ''A=_'' can be specified, meaning "any value", "all possible values of the attribute", "we don't care" | |
* on the other hand, attribute A unspecified, in the state formula means ''A=NULL'', so we store NULL in state | |
* here we come to an inference rule: ''A=NULL'' ==> ''A=_''. Seems to be valid... This rules should be optionally disabled/enabled in the inference engine. | |
| |
FIXME It seems, we could have three types of NULL-like values: Not-applicable, Potentially-applicable but taking no value empty/no-defined, Applicabe-and-takin-value but unknown. | |
| |