Skip to content
This repository has been archived by the owner on Jul 20, 2021. It is now read-only.

project-alvarium/go-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Alvarium

SDK (Golang)

This repository contains a software development kit (SDK) to track data provenance across mutations, derive related annotations, and provide a generic architecture to assess those annotations to reach one or more conclusions.

Table of Contents

Installation

This repository contains a module written in Golang.

It assumes a minimum Go version of 1.13.

To add it to your project: go get github.com/project-alvarium/go-sdk

Getting Started

Ubiquitous Language

Defines the terms used to communicate SDK concepts (which are echoed in implementation).

  • Annotation. Information (metadata) derived from (and related to) specific data.
  • Annotator. Evaluates data to create annotations.
  • Assessment. Conclusion(s) derived from specific data and related annotations.
  • Assessor. Assesses annotations and data to create an assessment.
  • Data. Plural; two or more data points.
  • Data Lineage. Description of the lifecycle of data to the current time. May Include details about the data's origin, who/what accessed or mutated the data, and where the data has transited. This is a key attribute of data provenance (that is, why-provenance).
  • Data Point. Singular; a piece of information.
  • Data Provenance. A historical record of the data and its origins.
  • Identity. A specific data's unique identifier.
  • Identity Provider. Derives identity from data.
  • Publisher. Publishes annotations to external systems or persistence.

Data Provenance

The SDK tracks the provenance of any type of data (for example, JSON, XML, or binary content) as long as the data can be represented as a Golang []byte