diff --git a/.zenodo.json b/.zenodo.json
new file mode 100644
index 0000000..976a7b7
--- /dev/null
+++ b/.zenodo.json
@@ -0,0 +1,71 @@
+{
+ "title": "GraphAlg: An Embeddable Language for Writing Graph Algorithms in Linear Algebra",
+ "description": "
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. The repository includes the compiler, language specification, Codemirror language support, an interactive WebAssembly playground, and a tutorial.
",
+ "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"}
+ ]
+}
diff --git a/CITATION.cff b/CITATION.cff
new file mode 100644
index 0000000..dd8078a
--- /dev/null
+++ b/CITATION.cff
@@ -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
diff --git a/README.md b/README.md
index a831155..cdeeee4 100644
--- a/README.md
+++ b/README.md
@@ -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.
@@ -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.