Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"title": "GraphAlg: An Embeddable Language for Writing Graph Algorithms in Linear Algebra",
"description": "<p>GraphAlg is a domain-specific language for graph algorithms based on linear algebra, designed to be embedded in databases. It compiles via a MATLANG-based core language to relational algebra, and is integrated into AvantGraph through the Cypher <code>WITH ALGORITHM</code> clause. The repository includes the compiler, language specification, Codemirror language support, an interactive WebAssembly playground, and a tutorial.</p>",
"upload_type": "software",
"access_right": "open",
"license": "MIT",
"creators": [
{
"name": "de Graaf, Daan",
"affiliation": "Eindhoven University of Technology",
"orcid": "0009-0000-0322-1149"
},
{
"name": "Brijder, Robert",
"affiliation": "Eindhoven University of Technology",
"orcid": "0000-0002-8912-1735"
},
{
"name": "Chakraborty, Soham",
"affiliation": "Delft University of Technology",
"orcid": "0000-0002-4454-2050"
},
{
"name": "Fletcher, George H. L.",
"affiliation": "Eindhoven University of Technology",
"orcid": "0000-0003-2111-6769"
},
{
"name": "van de Wall, Bram",
"affiliation": "Eindhoven University of Technology",
"orcid": "0009-0001-3066-863X"
},
{
"name": "Yakovets, Nikolay",
"affiliation": "Eindhoven University of Technology",
"orcid": "0000-0002-1488-1414"
}
],
"keywords": [
"graph algorithms",
"linear algebra",
"domain-specific language",
"graph databases",
"MATLANG",
"WebAssembly"
],
"grants": [
{"id": "10.13039/501100000780::101058573"}
],
"related_identifiers": [
{
"identifier": "10.48550/arXiv.2604.11454",
"relation": "isDocumentedBy",
"resource_type": "publication-preprint"
},
{
"identifier": "https://wildarch.dev/graphalg/playground",
"relation": "isDocumentedBy",
"resource_type": "other"
},
{
"identifier": "https://wildarch.dev/graphalg/tutorial",
"relation": "isDocumentedBy",
"resource_type": "other"
}
],
"communities": [
{"identifier": "scilake_project"},
{"identifier": "eu"}
]
}
44 changes: 44 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
cff-version: 1.2.0
message: "If you use GraphAlg, please cite it using the metadata below."
title: "GraphAlg"
abstract: "GraphAlg is a domain-specific language for graph algorithms based on linear algebra, designed to be embedded in databases. It compiles via a MATLANG-based core language to relational algebra, and is integrated into AvantGraph through the Cypher `WITH ALGORITHM` clause."
type: software
authors:
- family-names: "de Graaf"
given-names: "Daan"
email: "d.j.a.d.graaf@tue.nl"
orcid: "https://orcid.org/0009-0000-0322-1149"
affiliation: "Eindhoven University of Technology"
- family-names: "Brijder"
given-names: "Robert"
email: "r.brijder@tue.nl"
orcid: "https://orcid.org/0000-0002-8912-1735"
affiliation: "Eindhoven University of Technology"
- family-names: "Chakraborty"
given-names: "Soham"
orcid: "https://orcid.org/0000-0002-4454-2050"
affiliation: "Delft University of Technology"
- family-names: "Fletcher"
given-names: "George H. L."
email: "g.h.l.fletcher@tue.nl"
orcid: "https://orcid.org/0000-0003-2111-6769"
affiliation: "Eindhoven University of Technology"
- family-names: "van de Wall"
given-names: "Bram"
email: "a.a.g.v.d.wall@tue.nl"
orcid: "https://orcid.org/0009-0001-3066-863X"
affiliation: "Eindhoven University of Technology"
- family-names: "Yakovets"
given-names: "Nikolay"
email: "hush@tue.nl"
orcid: "https://orcid.org/0000-0002-1488-1414"
affiliation: "Eindhoven University of Technology"
license: MIT
repository-code: "https://github.com/wildarch/graphalg"
url: "https://wildarch.dev/graphalg"
keywords:
- graph algorithms
- linear algebra
- domain-specific language
- graph databases
- MATLANG
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# GraphAlg: A Embeddable Language for Writing Graph Algorithm in Linear Algebra
# GraphAlg: An Embeddable Language for Writing Graph Algorithms in Linear Algebra

GraphAlg is a domain-specific language for graph algorithms based on linear algebra,
designed to be embedded in databases. Try it in the browser via the
[Playground](https://wildarch.dev/graphalg/playground) or learn the language with the
[interactive tutorial](https://wildarch.dev/graphalg/tutorial).

This repository contains code related to the GraphAlg language:
- `codemirror-lang-graphalg`: Language Support for Codemirror
- `compiler/`: The GraphAlg compiler.
Expand All @@ -7,6 +13,16 @@ This repository contains code related to the GraphAlg language:
- `spec/`: The GraphAlg Language Specification
- `tutorial/`: A tutorial for new GraphAlg users

## Citation

If you use GraphAlg in your work, please cite the software via the metadata in
[`CITATION.cff`](./CITATION.cff) (or the Zenodo DOI for a specific release).

## Acknowledgement

This work was supported by the European Union's Horizon Europe research and innovation
programme under grant agreement **No. 101058573** ([SciLake](https://scilake.eu/)).

## Building
This assumes you are using the provided [devcontainer](https://containers.dev/) development environment.

Expand Down