Skip to main content

Co-op Opportunity - Streaming Graph Data Management

Job Summary:

The project deals with analyzing microblogs (e.g., tweets).  Over the last decade, microblogging has become a standard of communications among users of social networks. The increasing volume of microblogging content created using social networks is accompanied by an increase in the velocity of data that are being generated in real-time. The content of these microblogs is coarse and unstructured; however, with the use of information extraction techniques useful information can be harvested and used to build applications that can answer more complex queries in real-time.

The project involves taking microblogs created in a social network (e.g. Twitter) and extracting structured information from these microblogs using information extraction tools. This information is mapped onto a streaming graph which is updated in real time. The streaming graph is used to execute complex queries which represent a combination of keyword and graph queries in real-time. 

The specific task for the coop term is to take a graph database management system (most likely Neo4j) and modify it to work with streaming graphs. This requires adding data structures and additional functionality to Neo4j kernel. The revised system will then be used to perform performance tests. If time permits, the query processor will be modified to perform both keyword and structural search on graphs.

Job Responsibilities:

We are looking for a student with experience in programming languages, object-oriented programming and databases (knowledge of graph databases is a plus but not a requirement) to modify different components of an existing graph database management system.

The candidate will build and modify components of a graph database (e.g., underlying data structures, indexes, query optimizer) to support efficient insertions in a streaming graph while achieving good query execution time.

Knowledge of Java and/or C++;
Experience with object-objected programming;
Knowledge of data structures;
Knowledge of database management systems;
Experience with open-source projects;
Experience with graph data management is a plus


M. Tamer Özsu (

If you have any questions or require further information then please contact Professor Özsu at tamer.ozsu at


Popular posts from this blog

Enrollment caps have been restored for CS courses

As per the course selection policy, enrollment caps for all CS courses have been returned to their actual class size. If the class or section is full then it means that you will need to wait for another student to drop it. You have until 11.59 p.m. on Monday May 14 to add courses.

The following courses still have waiting lists and department consent applied so you will NOT be able to add these courses.

CS 454CS 458CS 486CS 488CS 492

Course enrollment for Spring 2018

Appointments for course enrollment began on Monday 26 March and open enrollment begins on Wednesday 28 March.

For students trying to add CS courses, we encourage you to review the course selection page.

In Computer Science,  we drop the enrolment caps by approximately 15% of the total enrolment number for the course to give advisors room to handle special cases. We will return the enrolment caps to their actual size in the second week of classes after we have had time to deal with the special cases. This will occur on Friday, May 4, 2018, (we don't know the precise time) and remaining space will be available on a first-come-first-served basis only if the section isn't already at its enrolment total. WHAT IS A SPECIAL CASE?
1. Students who selected courses but something went wrong because of: enrollment capacity in a course **a time conflict **an academic enrolment block was applied after course selectiondropping or failing a course after course selection** Please re…

CS/Data Science/Digital Hardware option transfers NOW OPEN

The CS Undergraduate Advising Office has opened applications for CS transfers for Fall 2017. The online application is available at will be open from Tuesday, December 5 until Sunday, December 31, 2017, at 11.59 p.m.

We're accepting applications for:

Transfer from Math to CS - at a minimum, must have taken CS 136 or be taking it in Fall 2017.Transfer from CS to BCS (Data Science) - must have taken STAT 231 or be taking it in Fall 2017.Transfer from CS to CS/Digital HardwareAdding a Joint CS to an out-of-faculty planTransfer from outside of Math to CS (pending approval from Math)Answers to common questions about the transfer process can be found in the CS FAQs (particularly #2 and #151).