dawgs

package module
v0.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2026 License: MIT Imports: 5 Imported by: 7

README

DAWGS

Database Abstraction Wrapper for Graph Schemas

A Corgi Treat

Purpose

DAWGS is a collection of tools and query language helpers to enable running property graphs on vanilla PostgreSQL without the need for additional plugins.

At the core of the library is an abstraction layer that allows users to swap out existing database backends (currently Neo4j and PostgreSQL) or build their own with no change to query implementation. The query interface is built around openCypher with translation implementations for backends that do not natively support the query language.

Development Setup

For users making changes to dawgs and its packages, the go mod replace directive can be utilized. This allows changes made in the checked out dawgs repo to be immediately visible to consuming projects.

Example

replace github.com/specterops/dawgs => /home/zinic/work/dawgs
Building and Testing

The Makefile drives build and test automation. The default make target should suffice for normal development processes.

make

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDriverMissing = errors.New("driver missing")
)

Functions

func Open

func Open(ctx context.Context, driverName string, config Config) (graph.Database, error)

func Register

func Register(driverName string, constructor DriverConstructor)

Types

type Config

type Config struct {
	GraphQueryMemoryLimit size.Size
	ConnectionString      string
	Pool                  *pgxpool.Pool
}

type DriverConstructor

type DriverConstructor func(ctx context.Context, cfg Config) (graph.Database, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL