A simple computer system can apply Public Names to articulate texts as uniform context graphs, distribute them in a network and infer relevant routes between contexts. In other words, Public Names enable distributed text index and search for peer network applications.
Implementations of Public Names are available for Python, Java and JavaScript.
Public Names are defined as either a string of at least one UNICODE character that does not contain articulated Public Names or a set of more than one unique and non-null Public Names sorted lexicographically then encoded as a sequence of netunicode strings.
A netunicode is a string of UNICODE characters prefixed with it's decimal length and a colon, suffixed with a comma:
[len]":"[Public Names]","
Netunicode is a protocol inspired by netstring, the original protocol for 8 bit bytes.
For instance:
4:Name,6:Public,6:System,3:The,
is a valid public name, as well as the four strings composing it:
The Public Name System
but all the strings below:
0:, 2:Hi,3:Ben,1:!, 4:fast,4:kill,4:kill,8:pussycat,
are invalid Public Names.