# why semantic?

given information there are multiple ways of categorising it, analysing it. Data triples are just one of these, so why focus on them as a solution?

## emergent structure

triples allow us to define relationships without closing structures or making too many assumptions. A triple allows us to say something meaningful before we have complete knowledge of a problem. No matter what we learn afterwards, if a triple was well formed initially, it will continue to contribute to our knowledge.

so for all situations where our initial knowledge is incomplete (many, all?), a triple is a starting point. With enough triples we may have more than a starting point, we can ask questions of the graph: how many triples have such and predicate, how many of those have a certain value. The structure can come from the data, it is not prejudged to exist.

## the importance of notation

a mapping from a table to a set of triples is trivial, a mapping from an object to a graph easy, so why make a fuss over things?

### a simple mapping

a table is a set of triples: row, column, cell. The rows are subjects, columns are predicates, the cells are values. With tables we consider normalisation forms and as we normalise the data relationships between tables are formed.

### but why?

a semantic graph can be seen as the database normalised so that each table contains a single column/predicate type.

the semantic graph has the standard advantages of a normalised database. Additionally the relationships of the graph are internal to the data, it is navigable, discoverable. If we have a nosql like database we can represent all of this in a single table with subject-predicate-object columns (another mappingâ€¦), a table of everything if you like.

## a graph of everything

our new table with all our data has some nice properties. For a start

- we can easily check for logical inconsistencies
- the way we question is easy to standardise
- easy to maintain