TILDE - Basics

These pages describe the TILDE layout that can be used to describe entities, real or virtual, in the form of a collection of descriptors. This format uses indentation to define a hierchical relationship between descriptors. This is a similar structure similar to YAML but TILDE aims to simplify the description and provide some minor additions.

A TILDE description is a stream of text which exists in a 'container', for example a simple text document. The stream of text comprises a set of descriptors which describe the entity. The container has an identifier and acts as a top level descriptor for the stream.

Descriptors have 4 main components : an indentation reflecting position in the hierarchy, a label, a list of one to many values, with each value having a dictionary of zero to many subsiduary Descriptors. A description is an hierachical arrangement of Descriptors. This model can, for example, be implemented in Python as a group of instances of a 'descriptor' class, but the prime source of the description is the original text stream.

Although there is a Python implementation to create an appropriate data model for a description there is no reason why the model cannot be implemented by other methods at a lower level, for example RDF.

The choice of Descriptors is application dependant. In the examples the use of TILDE is to describe information resources and related entities. Entities such as books, films, websites, services, people, organisations, events, categories, term lists and so forth.

TILDE uses a special character to denote labels, this is the ~ (tilde, U+007E).

A Descriptor is one or more lines of text which have the following form :

Labels can be duplicated at any level in the hierarchy but when used at the same level in a hierarchy the effect is to create a further value in the initial descriptor instance.

So for example :

~language~   english

Person~ John Smith
    date_of_birth~ 18 March 1824
    place_of_birth~ Leeds
    date~of~death~ 9 September 1879
    description~ John Smith was the eldest of five children of Samuel Smith, 
                 a wealthy butcher and tanner from Meanwood in Leeds. In 
                 1847 John Smith purchased the Backhouse & Hartley brewery 
                 in Tadcaster with funding provided by his father. Smith's 
                 timing proved fortuitous; pale ales were displacing porter 
                 as the public's most popular style of beer, and 
                 Tadcaster's hard water proved to be well-suited for brewing 
                 the new style. The prosperity of the 1850s and 1860s, 
                 together with the arrival of the railways, realised greater 
                 opportunities for brewers, and by 1861 Smith employed eight 
                 men in his brewing and malting enterprise. 
        note~ Copied from Wikipedia
            url~ https://en.wikipedia.org/wiki/John_Smith_(brewer)

Descriptors can be defined by the application, however a convention is used in this description is that labels may be of 3 types : an attribute, a property and a cluster.

An attribute has a value which describes the entity. The description can be broken down in more detail using indentation.

A property, which starts and ends with the special character ~ ,describes aspects of a Descriptor. Within the description properties qualify the parent attribute within the description providing information about the value or its creation or update. A value defined in a property also applies to all its subsiduary Descriptors unless it is over-written at a lower level in the hierarchy. Bearing in mind the container is a Descriptor, properties such as the date/time of update or language can be used at the top level to provide information that applies to the whole description. In the example above the property ~language~ applies to the whole description, specifying that the description uses the english language.

A cluster is a special type of attribute that is equivalent to the entity being described and provides a point where all the attributes are grouped together in a description. There may be many clusters in the text stream.

By convention attributes and properties use lower case letters and clusters begin with an upper case letter.

The text stream itself is a set of values and associated subsiduary Descriptors assigned to the system in which the description is being processed. This is why properties at zero indentation applies to the whole description.

Also by convention, the meaning of the additional value lines can be affected by the first character.

In addition there are a number of special Descriptors as follows :