Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 2.07 KB

void.md

File metadata and controls

56 lines (45 loc) · 2.07 KB

alias ~ Empty element.

idea ~ A data element is given by a gap.

context ~ Empty elements may occur everywhere in between other elements.

motivation ~ Some elements should not be expressed because they would virtually occur everywhere or because their expression would be confused with other content.

implementations ~ An embedding or schema can indicate the context in which data can be read from gaps. The separator pattern is typically applied in form of borders around the gap.

examples ~ - An empty string is not given as such but by an empty embedding (""). The same applies to other empty instances of sequence and container. - Default values are not given explicitly. Even if no default values are defined, one could just omit an element to indicate another value: a missing value is also a value. - Unit types in data type systems are not visible as data but by referencing them in other structures. - Assumed rules can lead to implicit derivation of data that is not directly expressed (for instance affiliation to superclasses and derived RDF statements). - Given a comparison rule for equality of elements, one automatically gets an unexpressed normalized form of each element.

counter examples ~ A gap can also be a sign of optionality where an element does not need to be expressed.

difficulties ~ As empty elements may occur virtually everywhere between other elements, it is difficult to spot empty elements and irrelevant empty elements may wrongly be assumed.

related patterns ~ - Optionality is an alternative to the void pattern. - If elements are cropped to a maximum length or form the original, full form is implicitly given (etcetera). - The garbage pattern is kind of the contrary to the void pattern: void is content without form, garbage is form without content.

implied patterns ~ A void element is always derivation of some other data elements.