d::gen unpacks as ‘digital generation network’, or ‘data generation network’, for ‘networking in a digital generation’
The double colon is derived from both the “scope resolution” operator in C++, and is a nod to the :// used in URLs.
We use the :: operator to define n-dimensional tags.
What does that mean?
Well, very much based on the work I did at Virgin Net where we created (at that time, 1997) one of the best events listing services in the world , the brief from the team was “we want to add any parameter” (e.g. number of seats in a cinema, type of popcorn that might be served, not just what’s showing, where and when). This led us down many rabbit holes of how to define open ontologies, beyond simple key-value pairs. We did okay — the cinema listings service we build was the most accurate in the UK and was sold to Time Out.
It got me thinking and, as ‘tags’ became more of a thing, we tried a few experiments to hack tagging systems by simply taking what was there and adding a ‘::’ in them which we could unpack later.
For example, ‘cinema::name=[name]::seats::disabled=[number]’, ‘location::lat=[lat];long=[long]’, ‘mood::happy’, ‘weather::cloud::light’, ‘event::demonstration::demonstrators=[headcount]’ … the idea being that you can keep going to as granular a level as you wish with as many ‘::’ delimiters as you want (‘event::demonstration::headcount=[headcount]::medianHairColour=pink’).
Lots to think about, how can we make it super easy for anyone to publish some data with no ‘tech knowledge’ that we can pick up with machines later… even if it’s messy and semi-structured, we should be able to reform into something meaningful?