AGIFT Graph Builder

The Australian Government Interactive Functions Thesaurus (AGIFT) is a controlled vocabulary maintained by the National Archives of Australia. It describes what government does across three levels of abstraction. For example, under "Communications" is 'Electornic commerce' which as 'Authentication' and 'Online transaction standards'.

The AGIFT Graph Builder turns this vocabulary into a knowledge graph with two types of relationships: the official hierarchy (parent-child) and semantic similarity edges discovered through embeddings. It also maps each AGIFT term to a DCAT-AP theme code, bridging Australian government vocabulary to the metadata standard used by European open data portals.

Who is this for?

  • Researchers categorising Australian government datasets against a standard vocabulary
  • Developers building search or recommendation systems over government data
  • Anyone working with DCAT-AP who needs Australian government function mappings

What it produces

A graph where each AGIFT term is a node carrying its label, hierarchy depth, alternative labels, and a DCAT-AP theme code. Two edge types connect the nodes:

Edge What it represents Weight
PARENT_OF Official AGIFT hierarchy (L1 → L2 → L3) 1.0
SIMILAR_TO Semantic similarity above a configurable threshold 0.5

The dual-edge structure means you can traverse the graph structurally (what falls under "Environment"?) or semantically (what terms are conceptually close to "Water quality monitoring"?).

How to get started

The tool is available as a Python package. The quickest path depends on your setup:

If you just want to try it:

pip install agift-graph[all]
docker compose up -d
agift

This starts a Neo4j instance, fetches the full AGIFT vocabulary, builds the graph, generates embeddings, and creates semantic edges. A web dashboard at localhost:5050 lets you configure and trigger runs.

If you don't want Docker:

CogDB is a pure-Python embedded graph database. No server process needed.

pip install agift-graph[cogdb]
agift --backend cogdb

If you want to use it in your own code:

from agift import run_pipeline

run_pipeline(provider="local", dimension=384)

The package supports free local embeddings (sentence-transformers on CPU) or the paid Isaacus API for domain-specific embeddings at various dimensions.

Install options

Install What you get
pip install agift-graph Core: Neo4j driver, fetch, graph build
pip install agift-graph[cogdb] + CogDB embedded backend (no server)
pip install agift-graph[embeddings] + sentence-transformers for local embeddings
pip install agift-graph[isaacus] + Isaacus API client
pip install agift-graph[all] Everything

Technical write-up

For a detailed look at how the pipeline works — vocabulary fetching, change detection, embedding generation, and similarity edge construction — see the Building the AGIFT Graph write-up.

Data source

AGIFT is maintained by the National Archives of Australia and published via a TemaTres REST API. The pipeline runs on a weekly schedule to keep the graph current as terms are added or restructured.

Source code and licence

github.com/DeepCivic/AGIFT-graph-builder — Apache 2.0


Last updated: April 2026

© 2026 DeepCivic. All rights reserved.