Per the minutes I just sent out, we did not reach a conclusion on the null vs. undefined values decision. In this message I will attempt to summarize the decision tree to close on this issue.
The first decision is: are we going to treat a null value and an undefined value (or an unassigned value) as semantically distinct?
If YES, I believe the resolution of the issue i:
- If an attribute exists but has no value context node, it means the value is unassigned.
- If an attribute exists and has a value context node but no literal node, it means the value is null.
-
If an attribute exists and has a value context node and a literal node, it means the value is not null.
Early this year we made the decision to add a new type of node to the graph model—what we are currently calling a value context node (although we may come up with a better name for it). The purpose of this node is to separate the address of an attribute from the address for its value in the graph.