solution overview | January 2020
teacher workload / burden
separation of static & dynamic
uses of data
difficulty of standardisation
syllabus alignment as a first target.
establishment | reference | event
multi-model | lifelong/bi-temporal | cooperative
progress | outcomes | agency
privacy | security | integrity
physical
information
cognitive
establishment
reference
events
individual
school
system
intra-system
TRUST system | places | machines | people
empower, empower, empower
Many systems operate across both analog and digital regimes. A tree integrates a wide range of inputs as continuous functions, but if you cut down that tree, you find that it has been counting the years digitally all along.
You never change things by fighting the existing reality.
To change something, build a new model that makes the existing model obsolete.
R. Buckminster Fuller
establishment
reference
events
establishment
reference
events
static
dynamic
publish()
any data
automatic linking
graphQl()
automatic schema generation
an API service for data
technology / storage agnostic
successor to REST
without privacy
privacy policy as data
with privacy
gql
input & data
services...
alignment/classifier
lesson planner, alignment
multi-model
day-book
traversal
data as signal - load from 0
wellbeing
tasks
syllabus
observations
assessments
progress
data as signal
ephemeral processing;
play & improvise
establishment
reference
events
N3 nodes can run as self-contained services on a single machine to allow inter-application interoperability
N3 nodes can be run at a school level to allow interoperability and aggregation of data for analytics
N3 nodes form a distributed network to allow sharing and interoperability across an enterprise
N3 systems can communicate across organisational boundaries to share student information between organisations and systems
n3w
publish()
query()
contexts
crdt
streaming / syncing
data-store
deep6
crdt
gql
context
streaming
privacy
web
all deployed in single n3w binary
publish()
file, http request, stream
query()
findById() findByValue() findByType() findByPredicate() traversalWithId() traversalWithValue()
hexastore extended with
automated linking
Hexastore: Sextuple Indexing for Semantic Web Data Management
version-vector map-based
ensures causal consistency of
all updates across a distributed
network
Attaches to read stream of
crdt manager
creates gql-schema and
therefore data access to
data objects seen by the context.
Adds universal query info
object to access all
data through d6 methods.
Creates safe bounded areas for
data sharing.
Protected by symmetric keys and jwt tokens for access.
Applies privacy per context.
Passes data through
CRDT-layer and into
streaming engine.
Reads data from streaming layer, via CRDT into context data-store (deep6)
NATS 2.0
high-performance
clustering/syncing/scalability
distributed authn/authz
Enforces POD/PPOD
data policy controls.
Data can be redacted/replaced
dynamically or
permanently
the single user binary
that wraps the whole lot
together
createContext()
publish()
query()
15Mb
20Mb in use
high performance
establishment | reference | event
multi-model | lifelong/bi-temporal | cooperative
progress | outcomes | agency
privacy | security | integrity