Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bio4j/angulillos

Java 8 library for strongly typed graph data
https://github.com/bio4j/angulillos

bio4j data-model graph graph-api graph-data graph-database graph-databases graph-queries graph-schema graphs java java-8 java-library java8 query-dsl query-language schema strongly-typed tinkerpop traversal

Last synced: 2 months ago
JSON representation

Java 8 library for strongly typed graph data

Awesome Lists containing this project

README

        

# Angulillos[>](https://translate.google.com/#es/en/par%C3%A9ntesis%20angulares)

[![](https://travis-ci.org/bio4j/angulillos.svg?branch=master)](https://travis-ci.org/bio4j/angulillos)
[![](https://img.shields.io/codacy/0b73cc36435640c6ab2b96dbceb52494.svg)](https://www.codacy.com/app/bio4j/angulillos)
[![](http://github-release-version.herokuapp.com/github/bio4j/angulillos/release.svg)](https://github.com/bio4j/angulillos/releases/latest)
[![](https://img.shields.io/badge/license-AGPLv3-blue.svg)](https://tldrlegal.com/license/gnu-affero-general-public-license-v3-%28agpl-3.0%29)
[![](https://img.shields.io/badge/contact-gitter_chat-dd1054.svg)](https://gitter.im/bio4j/angulillos)

Angulillos is a Java 8 library for strongly typed graph data.

You write graph schemas using the Java type system, and graph traversals are statically checked. The same schemas and traversals can then be used with any implementation of the _Angulillos_ API, such as [bio4j/angulillos-titan](https://github.com/bio4j/angulillos-titan).

### Why not TinkerPop?

Angulillos fixes the untypedness of TinkerPop at two different levels that we could call *structural* and *model*-specific:

- **Structural** You can write nonsensical traversals like "source of a vertex"
- **Model** No notion of graph schema. You can write "give me users followed by tweet"

### Where to start

The tests include a simple Twitter graph schema and some generic traversals:

- [TwitterGraph](./blob/master/src/test/java/com/bio4j/angulillos/TwitterGraph.java)
- [TwitterGraphTestSuite](./blob/master/src/test/java/com/bio4j/angulillos/TwitterGraphTestSuite.java)

For something more complex take a look at [bio4j/bio4j](https://github.com/bio4j/bio4j), which includes several interconnected graph schemas with hundreds of types.