The objective of this course course is to give students an overview of the field of graph analytics. The objective of this course course is to give students an overview of the field of graph analytics . Since graphs form a complex and expressive data type, we need methods for representing graphs in databases, manipulating, querying, analyzing and mining them.Moreover, graph applications are very diverse and need specific algorithms.

The course presents new ways to model, store, retrieve, mine and analyze graph-structured data and some examples of applications.

Lab sessions are included allowing students to practice graph analytics: modeling a problem into a graph database and performing analytical tasks over the graph in a scalable manner.

Program

1. Introduction to graph management and mining

2. Graph databases – Neo4J

3. Query language for graphs – Cypher

4. Graph Processing Frameworks (Pregel, .., GraphX)

5. Graph applications : mining social-network graphs, mining logs, fraud detection, ..

Bibliographie, lectures recommandées

Ian Robinson, Jim Weber, Emil Eifrem, Graph Databases, Editeur : O’Reilly (4 juin 2013), ISBN-10: 1449356265

Eric Redmond, Jim R. Wilson, Seven Databases in Seven Weeks – A Guide to Modern Databases and the NoSQL Movement, Publisher: Pragmatic Bookshelf

Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. 2010. Pregel: a system for large-scale graph processing, SIGMOD ’10, ACM, New York, NY, USA, 135-146

Xin, Reynold & Crankshaw, Daniel & Dave, Ankur & Gonzalez, Joseph & J. Franklin, Michael & Stoica, Ion. (2014). GraphX: Unifying Data-Parallel and Graph-Parallel Analytics.

Michael S. Malak and Robin East, Spark GraphX in Action, Manning, June 2016