<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.softwareheritage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abonifat</id>
	<title>Software Heritage Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.softwareheritage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abonifat"/>
	<link rel="alternate" type="text/html" href="https://wiki.softwareheritage.org/wiki/Special:Contributions/Abonifat"/>
	<updated>2026-04-20T12:37:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.softwareheritage.org/index.php?title=Graph_query_language_for_the_archive_(internship)&amp;diff=1248</id>
		<title>Graph query language for the archive (internship)</title>
		<link rel="alternate" type="text/html" href="https://wiki.softwareheritage.org/index.php?title=Graph_query_language_for_the_archive_(internship)&amp;diff=1248"/>
		<updated>2020-02-17T08:13:53Z</updated>

		<summary type="html">&lt;p&gt;Abonifat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Internship&lt;br /&gt;
|description=The Software Heritage archive is structured as a graph (specifically, a [https://en.wikipedia.org/wiki/Merkle_tree Merkle DAG]) and is huge: tens of billion nodes, hundreds of billion edges.&lt;br /&gt;
It has recently been verified that a compressed representation of the graph structure can fit in memory, whereas node/edge properties can be memory-mapped to secondary storage (see: [https://docs.softwareheritage.org/devel/swh-graph/ documentation] and in particular the paper referenced there).&lt;br /&gt;
An [https://docs.softwareheritage.org/devel/swh-graph/api.html ad hoc API] is available to traverse the graph, with very limited querying capabilities.&lt;br /&gt;
The goal of this internship is to experiment with the possibility of querying the archive graph via state-of-the-art [https://en.wikipedia.org/wiki/Graph_database#Graph_query-programming_languages graph query languages].&lt;br /&gt;
The ideal outcome of the internship will be a prototype of query engine that answers queries on top of the compressed graph representation plus associated property maps.&lt;br /&gt;
The tentative target platform for implementation is [https://neo4j.com/ Neo4j] extended with a compatibility layer for WebGraph [http://webgraph.di.unimi.it/docs/it/unimi/dsi/webgraph/ImmutableGraph.html ImmutableGraph], but other platforms might be considered during the internship.&lt;br /&gt;
&lt;br /&gt;
|skills=&lt;br /&gt;
* Java development&lt;br /&gt;
* Query languages for structured, semi-structured, or graph data (e.g., one or more among: SQL, Xquery, GraphQL, SPARQL, GQL, etc.)&lt;br /&gt;
&lt;br /&gt;
Will be considered a plus:&lt;br /&gt;
* experience with graph databases (e.g., [https://neo4j.com/ Neo4j])&lt;br /&gt;
&lt;br /&gt;
|workplace=[https://liris.cnrs.fr/en LIRIS (Univ. Lyon 1, Lyon)] or [https://www.inria.fr/en/centre-inria-de-paris Inria Paris]&lt;br /&gt;
&lt;br /&gt;
|mentors=&lt;br /&gt;
* [https://perso.liris.cnrs.fr/angela.bonifati/ Angela Bonifati] &amp;lt;angela.bonifati@univ-lyon1.fr&amp;gt;&lt;br /&gt;
* Stefano Zacchiroli &amp;lt;zack@upsilon.cc&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Available internship]]&lt;/div&gt;</summary>
		<author><name>Abonifat</name></author>
	</entry>
</feed>