Difference between revisions of "Key-value pair"

From PKC
Jump to navigation Jump to search
Line 1: Line 1:
[[wikipedia:Key-value pair|Key-value pair]] is a fundamental data type, which only specifies a relationship between a '''name''' or '''key''' with a '''value'''. It can be thought of as a kind of [[hashtable]] or [[dictionary]] data type, and can be used to implement [[S-expression]]s. The ultimate [[meta-language]] [[Backus-Naur form]] is basically a collection of [[key=value pair]]s.
[[wikipedia:Key-value pair|Key-value pair]] is a fundamental data type, which only specifies a relationship between a '''name''' or '''key''' with a '''value'''. It can be thought of as a kind of [[hashtable]] or [[dictionary]] data type, and can be used to implement [[S-expression]]s. The ultimate [[meta language]] [[Backus-Naur form]] is basically a collection of [[key=value pair]]s.


A collection of [[key-value pair]]s can also be considered as a lookup table or a [[dictionary]] data type.  
A collection of [[key-value pair]]s can also be considered as a lookup table or a [[dictionary]] data type.  

Revision as of 12:04, 13 May 2022

Key-value pair is a fundamental data type, which only specifies a relationship between a name or key with a value. It can be thought of as a kind of hashtable or dictionary data type, and can be used to implement S-expressions. The ultimate meta language Backus-Naur form is basically a collection of key=value pairs.

A collection of key-value pairs can also be considered as a lookup table or a dictionary data type.

It is known that ordered pairs of data was used to construct matrix algebra[1].

Industry Examples of Nested Key-value pairs

The yaml, Yet Another Markup Language, is a typical realization of denoting key-value pairs in a highly popular language in the world of Infrastructure as code. JSON, the JavaScript Serial Object Notation, is another kind of nested key-value pairs. JSON's expressiveness is basically equivalent to yaml.


Backus-Naur Form

Backus-Naur Form(Q211577), often abbreviated as BNF, is one of the two main notation techniques for context-free grammars in computer science.

BNF is a formal language that can be denoted in a collection of key-value pairs. For instance:

  <symbol> ::= __expression__

In the example shown above, <symbol> denotes a key, and __expression__ denotes a value.

  • <symbol>is a nonterminal (variable) and the __expression__ consists of one or more sequences of either terminal or nonterminal symbols;
  • =::= means that the symbol on the left must be replaced with the expression on the right.
  • more sequences of symbols are separated by the vertical bar "|", indicating an alternation choice, the whole being a possible substitution for the symbol on the left.

Symbols that never appear on a left side are terminals. On the other hand, symbols that appear on a left side are non-terminals and are always enclosed between the pair <>.



Associative Array

Associative array is a kind of table, like Table in Lua, which is stored as a set of key-value pairs.



References

Related Pages