Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
teaching:mfe:is [2015/09/14 13:41]
svsummer [Engineering a runtime system and compiler for AQL]
teaching:mfe:is [2019/04/30 15:38]
ezimanyi [JDBC driver for Trajectories]
Line 1: Line 1:
-====== MFE 2015-2016 : Web and Information Systems ======+====== MFE 2019-2020 : Web and Information Systems ======
  
 ===== Introduction ===== ===== Introduction =====
Line 18: Line 18:
 ===== Master Thesis in Collaboration with Euranova ===== ===== Master Thesis in Collaboration with Euranova =====
  
-Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found  +Our laboratory performs collaborative research with Euranova R&D (http://​euranova.eu/​). The list of subjects proposed for this year by Euranova can be found [[https://​research.euranova.eu/​wp-content/​uploads/​proposals-thesis-2019.pdf|here]]. 
-{{:teaching:​mfe:​master_thesis_euranova_2015.pdf|here}}+
  
 These subject include topics on distributed graph processing, processing big data using Map/Reduce, cloud computing, and social networks. These subject include topics on distributed graph processing, processing big data using Map/Reduce, cloud computing, and social networks.
Line 26: Line 26:
  
  
-===== Graph Indexing for Fast Subgraph Isomorphism Testing ===== 
  
-There is an increasing amount of scientific data, mostly from the bio-medical sciences, that can be represented as collections of graphs (chemical molecules, gene interaction networks, ...). A crucial operation when searching in this data is that of subgraph ​   isomorphism testing: given a pattern P that one is interested in (also a graph) in and a collection D of graphs (e.g., chemical molecules), find all graphs in G that have P as a   ​subgraph. Unfortunately,​ the subgraph isomorphism problem is computationally intractable. In ongoing research, to enable tractable processing of this problem, we aim to reduce the number of candidate graphs in D to which a subgraph isomorphism test needs   to be executed. Specifically,​ we index the graphs in the collection D by means of decomposing them into graphs for which subgraph ​  ​isomorphism *is* tractable. An associated algorithm that filters graphs that certainly cannot match P can then formulated based on ideas from information retrieval.+===== Dynamic Query Processing ​on GPU Accelerators =====
  
-In this master thesis ​project, the student will emperically validate on real-world datasets the extent to which graphs can be decomposed into graphs for which subgraph isomorphism ​is tractable, and run experiments to validate ​the effectiveness ​of the proposed method in terms of filtering power.+This master thesis is put forward in the context ​of the DFAQ Research Project: "​Dyanmic Processing ​of Frequently Asked Queries",​ funded by the Wiener-Anspach foundation.
  
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+Within this project, our lab is hence developing novel ways for processing "fast Big Data", i.e., processing of analytical queries where the underlying data is constantly being updated. The analytics problems envisioned cover wide areas of computer science and include database aggregate queries, probabilistic inference, matrix chain computation,​ and building statistical models.
  
-**Status**: available+The objective of this master thesis is to build upon the novel dynamic processing algorithms being developed in the lab, and complement these algorithms by proposing dynamic evaluation algorithms that execute on modern GPU architectures,​ thereby exploiting their massive parallel processing capabilities.
  
 +Since our current development is done in the Scala programming language, prospective students should either know Scala, or being willing to learn it within the context of the master thesis.
  
-=====  Complex Event Processing for Security Analytics===== ​ 
  
-As noted by [[http://​home.deib.polimi.it/​cugola/​Papers/​cep_survey.pdf|Cugola ​and Magara]]"an increasing number ​of distributed applications requires processing continuously flowing data ("​events"​) from geographically distributed sources at unpredictable rates to obtain timely responses to complex queries. Examples ​of such applications come from the most disparate fields: from fraud  detection to network intrusion detection systemsfrom wireless sensor networks to financial tickers, from traffic management to click-stream inspection."+**Validation of the approach** Validation of master thesis'​ work should be done on two levels: 
 +  * a theoretical level; ​by proposing ​and discussing alternative ways to do incremental computation on GPU architecturesand comparing these from a theoretical complexity viewpoint 
 +  * an experimental level; by proposing a benchmark collection ​of CEP queries that can be used to test the obtained versions ​of the interpreter/​compilerand report on the experimentally observed performance on this benchmark.
  
-These requirements have led to the development of a number of systems specifically designed to process information as a flow (or a set of flows) of continues data "​events"​ according to a set of pre-deployed processing rules. ​ Despite having a common goal, these systems differ in a wide range of aspects, including architecture,​ data models, rule and pattern languages, and processing mechanisms. In part, this is due to the fact that they were the result of the research efforts of different communities,​ each one bringing its own view of the problem and its background to the definition of a solution. 
  
-The master thesis ​is put forward in the context ​of the SPICES "​Scalable Processing and mIning ​of Complex Events ​for Security-analytics"​ research project, funded by Innoviris.   +**Deliverables** of the master thesis ​project 
-The objective ​of this master thesis is to survey ​the existing systems and compare the strengths and weaknesses when they are applied specifically to the context detecting security breaches ​(network intrusion, fraud detection, ...), and help, as part of the research project, in the design & implementation ​of a new system that overcomes these weaknesses.+  * An overview of query processing on GPUs 
 +  * A definition ​of the analytics queries under consideration 
 +  * A description ​of different possible dynamic evaluation algorithms ​for the analytical queries on GPU architectures. 
 +  * A theoretical comparison of these possibilities 
 +  ​* ​The implementaiton ​of the evaluation algorithm(s(as an interpreter/​compiler) 
 +  * A benchmark set of queries and associated data sets for the experimental validation 
 +  * An experimental validation of the compiler, and analysis ​of the results.
  
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] 
  
-**Status**: already taken.+**Interested?** Contact ​ ​[[svsummer@ulb.ac.be|Stijn Vansummeren]]
  
- 
-===== Compiling SPARQL queries into machine code ===== 
- 
-Due to the increasing availability of larger and larger cheap RAM memories, the working set of modern database management systems becomes more and more main memory resident. This implies that, in contrast to traditional database management systems, slow disk accesses are rare, and that hence, the in-memory processing speed of databases becomes an important factor. As recently observed by a number of researchers,​ (e.g., [[http://​sites.computer.org/​debull/​A14mar/​p3.pdf|Neumann and Leis]]), one very attractive approach for fast query processing in this context is the just-in-time compilation of incoming queries into machine code. This compilation avoids the overhead of the traditional interpretation of query plans, and can aid in minimzing memory traffic for boosting performance. 
- 
-A number of recent research prototypes exist that compile SQL queries into machine code in this sense: ​ HyPer A Hybrid OLTP&​OLAP High Performance DBMS (http://​hyper-db.de/​) and Legobase (https://​github.com/​epfldata/​NewLegoBase and http://​data.epfl.ch/​legobase). 
- 
-The objective of this master thesis is to apply the same methodology to engineer a compiler that translates (fragments of) SPARQL (the standard query language for querying RDF data on the semantic web) into machine code. The overall methodology should follow the methodology used by HyPer and Legobase: 
-  * Use of a high-level language to construct the compiler (Scala, http://​scala-lang.org/​) 
-  * Use of Latent Modular Staging (LMS for short) for generating low-level portable assembly code at runtime (http://​scala-lms.github.io/​) 
-  * Use of LLVM (http://​llvm.org/​) as a portable assembly code and corresponding translator to machine code. 
- 
-Getting aquaintend with these technologies is part of the master thesis objective. 
- 
-**Validation of the approach** The thesis should propose a benchmark collection of SPARQL queries that can be used to test the obtained SPARQL-to-machine-code compiler and compare its perforance against a reference, interpreter-based SPARQL compiler. 
- 
-**Deliverables** of the master thesis project:  ​ 
-  - An overview of the state of the art in query-to-machine-code compilation. 
-  - A description of latent modular staging and how it can be used to construct machine-code compilers. 
-  - The SPARQL compiler (software artifact) 
-  - A benchmark set of SPARQL queries and associated data sets for the experimental validation 
-  - An experimental validation of the compiler, comparing efficiency of compiled queries against a reference compiler based on query plan interpretation. 
- 
- 
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] 
  
 **Status**: available **Status**: available
  
-===== An implementation of the SCULPT schema language for tabular data on the Web =====+===== Multi-query Optimization in Spark =====
  
-Despite the availability of numerous standardized formats for semi-structured and semantic web data such as XML, RDF, and JSON, a very large percentage of data and open data published ​on the web, remains tabular ​in nature. ​(Jeni Tennisonone of the two co-chairs of the W3C CSV on the Web working group claims that ``over 90% of the data published on data.gov.uk is tabular data''​.) Tabular data is most commonly published in the form of comma separated values ​(CSVfiles because such files are open and therefore processable by numerous tools, and tailored ​for all sizes of files ranging from number ​of KBs to several TBsDespite these advantages, working with CSV files is often cumbersome because they are typically not accompanied by //schema// that describes the file's structure (i.e., ``the second column ​is of integer datatype'',​ ``columns are delimited by tabs'',​ etc) and captures its intended meaning. Such a description is nevertheless vital for any user trying ​to interpret ​the file and execute queries or make changes ​to it.+Distributed computing platforms ​such as Hadoop ​and Spark focus on addressing ​the following challenges ​in large systems: ​(1) latency, (2scalability, and (3) fault tolerance. Dedicating computing resources ​for each application executed by Spark can lead to waste of resourcesUnified distributed file systems such as Alluxio has provided ​platform for computing results among simultaneously running applicationsHoweverit is up to the developers ​to decide on what to share.
  
-In other data models, the presence ​of a schema is also important for query optimization (required for scalable query execution ​if the file is large)as well as other static analysis tasks. Finally, schemas are a prerequisite ​for unlocking huge amounts of tabular data to the Semantic Web.+The objective ​of this master thesis is to optimize various applications running on Spark platform, optimize their execution ​plans by autonomously finding sharing opportunities,​ namely finding ​the RDDs that can be shared among these applicationsand computing these shared plans once instead of multiple times for each query.
  
-In recognition ​of this problem, ​the CSV on the Web Working Group of the World Wide Web Consortium argues ​for the introduction ​of a schema language for tabular data to ensure higher interoperability when working with datasets using the CSV or similar formats.+**Deliverables** ​of the master thesis project 
 +  * An overview ​of the Apache Spark architecture. 
 +  * Develop a performance model for queries executed by Spark. 
 +  * An implementation that optimizes queries executed by Spark and identify sharing opportunities. 
 +  * An experimental validation ​of the developed system.
  
-The objective of this master thesis is to implement a recent proposal for such a schema language named SCULPT (http://​arxiv.org/​abs/​1411.2351). Concretely, this entails: +**Interested?​** Contact :  [[svsummer@ulb.ac.be|Stijn Vansummeren]]
-  * proposing an elegant concrete syntax for SCULPT schemas +
-  * implement both the in-memory and streaming validation algorithms of SCULPT proposed in http://​arxiv.org/​abs/​1411.2351 +
-  * extend the SCULPT proposal, by investigating how SCULPT can be combined with complementary features recently proposed by the W3C CSV on the Web Working group (http://​www.w3.org/​2013/​csvw/​wiki/​Main_Page) +
-  * and in particular, extend sculpt with features that allow tabular files to be converted into RDF +
-  * create associated tooling for SCULPT (i.e., parser and serializer generator, in the spirit of data description tools) +
- +
-\\ +
-**Deliverables** of this master thesis project: +
-  - detailed description of the SCULPT proposal (document) +
-  - overview of the state of the art; in particular other proposals for schema languages for tabular data (document) +
-  - concrete syntax for sculpt (design document + formal grammar) +
-  - implementation of SCULPT validation algorithms (software artifact) +
-  - extension of sculpt with features for converting into RDF (document + software) +
- +
- +
-**Interested?​** Contact: ​[[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] +
- +
-**Status**: already taken +
- +
-===== Engineering a runtime system and compiler for AQL ===== +
- +
-Automatically extracting structured information from text is a task that has been pursued for decades.Since most analytics over text involves information extraction as a first step, IE is a very important part of data analysis in the enterprise today. +
- +
-In 2005, researchers at the IBM Almaden Research Center developped a new system specifically geared for practical information extraction in the enterprise. This effort lead to SystemT, a rule-based IE system with an SQL-like declarative language named AQL (Annotation Query Language). The declarative nature of AQL enables new kinds of tools for extractor development,​ and draws upon known techniques form query processing in relational database management systems to offer a cost-based optimizer that ensures high-througput performance. Recent research into the foundations of AQL (http://​researcher.watson.ibm.com/​researcher/​files/​us-fagin/​jacm15.pdf) has shown that, as an alternative,​ it is also possible to build a runtime system for AQL based on special kinds of finite state automata. A potential benefit of this alternate runtime system is that text files need only be processed once (instead of multiple times in the cost-based optimizer backend) and may hence provide greater throughput. On the other hand, the alternate system can sometimes have larger memory requirements than the cost-based optimizer backend. +
- +
-The objective of this master thesis is to design and engineer a runtime system and compiler for (a fragment) of AQL based on finite state automata. Ideally, to obtain the best performance,​ these automata should be compiled into machine-code when executed. For this compilation,​ the following technologies should be used: +
-  * A a high-level language to construct the compiler (Scala, http://​scala-lang.org/​) +
-  * Use of Latent Modular Staging (LMS for short) for generating low-level portable assembly from the automata at runtime (http://​scala-lms.github.io/​) +
-  * Use of LLVM (http://​llvm.org/​) as a portable assembly code and corresponding translator to machine code. +
- +
-Getting aquaintend with these technologies is part of the master thesis objective. +
- +
-**Validation of the approach** The thesis should propose a benchmark collection of AQL queries and associated input text files that can be used to test the obtained automaton-based AQL compiler and compare its performance against the reference, cost-based optimizer of SystemT. +
- +
-**Deliverables** of the master thesis project: +
-  - An overview of AQL, SystemT, and its cost-based optimizer and evaluation engine. (document) +
-  - A description of how AQL can be evaluated by means of so-called vset finite state automata. (document) +
-  - A detailed desription of the state of the art in evaluating finite state automata. (document) +
-  - Identification of the AQL syntaxt that is to be supported. (specification) +
-  - The AQL compiler (software artifact) +
-  - A benchmark set of AQL queries and associated data sets for the experimental validation +
-  - An experimental validation of the compiler, comparing efficiency of compiled queries against the cost-based reference compiler. +
- +
-\\ +
-**References about SystemT**:​ +
-  * [[http://​almaden.ibm.com/​cs/​projects/​avatar/​icde2008.pdf|An Algebraic Approach to Rule-Based Information Extraction]]  +
-  * [[http://​www.sigmod.org/​publications/​sigmod-record/​0812/​p007.special.krishnamurthy.pdf|SystemT:​ A System for Declarative Information Extraction]] +
- +
-\\ +
-**References about finite state automata evaluation**:​ +
-  * Regular expression pattern matching can be simple and fast. http://​swtch.com/​~rsc/​regexp/​regexp1.html +
-  * Regular Expression Matching: the Virtual Machine Approach http://​swtch.com/​~rsc/​regexp/​regexp2.html +
-  * Regular Expression Matching in the Wild http://​swtch.com/​~rsc/​regexp/​regexp3.html +
-  * [[http://​www.diku.dk/​kmc/​documents/​AiPL-CrashCourse.pdf|A Crash-Course in Regular Expression Parsing and Regular Expressions as Types.]] +
- +
-\\ +
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] +
- +
-\\ +
-**Status**: taken +
- +
- +
-===== Structural compression of relational databases ===== +
- +
-Recent research in database management systems at ULB has shown how to theoretically construct succinct (compressed) representations for relational databases and semantic web databases. The advantage of these succinct representations is that they allow querying directly **on the succinct representation**,​ without needing to consult the underlying database. +
- +
-The goal of this thesis is to study scalable algorithms for constructing the actual succinct representations. Some in-memory algorithms are already known, but given the large size of typical database, distributed and out-of-core alternatives need to be found. +
- +
-**Deliverables**:​ +
-  * Overview of the state of the art in main-memory,​ and distributed (bi)simulation-based compression algorithms (document) +
-  * Description of the simulation-based compression algorithm to implement (document) +
-  * Selection of the distribution framework (Actors, Pregel, ...) (document) +
-  * Simulation algorithm (software artifact) +
-  * Experimental analysis of distributed algorithm on a number of datasets. (document) +
- +
-**Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]+
  
 **Status**: available **Status**: available
  
-===== A Scala-based runtime and compiler ​for Distributed Datalog ​=====+===== Graph Indexing ​for Fast Subgraph Isomorphism Testing ​=====
  
-Datalog is a fundamental query language in datamanagement based on logic programming. It essentially extends select-from-where SQL queries with recursion. ​There is a recent trend in data management research to use datalog to specify distributed applicationsmost notably on the web, as well as do inference on the semantic web. The goal of this thesis is to engineer a basic **distributed datalog system**i.e.system ​that is capable ​of compiling & running distributed datalog queriesThe system should be implemented ​in the Scala programming languageLearning Scala is part of the master thesis project.+There is an increasing amount of scientific ​data, mostly from the bio-medical sciencesthat can be represented ​as collections ​of graphs (chemical molecules, gene interaction networks, ...). A crucial operation when searching in this data is that of subgraph ​   isomorphism testing: given pattern P that one is interested in (also a graph) in and a collection D of graphs (e.g., chemical molecules), find all graphs ​in G that have P as a   ​subgraphUnfortunately,​ the subgraph isomorphism problem ​is computationally intractable. In ongoing research, to enable tractable processing ​of this problem, we aim to reduce ​the number of candidate graphs in D to which a subgraph isomorphism test needs   to be executed. Specifically,​ we index the graphs in the collection D by means of decomposing them into graphs for which subgraph ​  ​isomorphism *is* tractable. An associated algorithm that filters graphs that certainly cannot match P can then formulated based on ideas from information retrieval.
  
-The system should incorporate recently proposed worst-case join algorithms (i.e., the [[http://​arxiv.org/​abs/​1210.0481|leapfrog trie join]]) and employ known local datalog optimizations (such as magic sets and QSQ.)+In this master thesis project, the student will emperically validate on real-world datasets the extent to which graphs can be decomposed into graphs for which subgraph isomorphism is tractableand run experiments to validate ​the effectiveness of the proposed method in terms of filtering power.
  
-**Validation of the approach** The thesis should propose a benchmark collection of datalog queries and associated data workloads that be used to test the obtained system, and measure key performance characteristics (elasticity of the system; memory frootprint; overall running time, ...) 
- 
- 
-**Deliverables**:​ 
-  * Semantics of datalog; overview of known optimization strategies (document) 
-  * Description of the leapfrog trie join (document) 
-  * Datalog system (software artifact) 
-  * Experimental analysis of developped system on a number of use cases (document) 
- 
-\\ 
 **Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]] **Interested?​** Contact : [[stijn.vansummeren@ulb.ac.be|Stijn Vansummeren]]
  
 **Status**: available **Status**: available
  
-===== Design and Implementation of a Curriculum Revision Tool ===== 
  
-Stijn Vansummeren (WIT), Frédéric Robert (BEAMS)+=====Extending SPARQL for Spatio-temporal Data Support=====
  
-This master thesis project concerns ​the analysisdesignand implementation of software system that can assist in the revision ​of teaching curricula ​(also known as teaching programs).+[[http://​www.w3.org/​TR/​rdf-sparql-query/​|SPARQL]] is the W3C standard language to query RDF data over the semantic web. Although syntactically similar to SQL ​SPARQL is based on graph matching. In addition, SPARQL is aimed, basically, to query alphanumerical data.   
 +Therefore, a proposal to extend SPARQL to support spatial data, called ​ [[http://​www.opengeospatial.org/​projects/​groups/​geosparqlswg/​|GeoSPARQL]],​ has been presented to the Open Geospatial Consortium. ​  
 +  
 +In this thesis we propose to (1) perform an analysis ​of the current proposal for GeoSPARQL; ​(2a study of  current implementations of SPARQL that support spatial data; (3) implement simple extensions for SPARQL to support spatial data, and use these language in real-world use cases 
 + 
  
-The primary targetted functionalities of the software system are as follows:+   * Contact[[ezimanyi@ulb.ac.be|Esteban Zimányi]]
  
-  * It should allow to make different versions of the teaching programs, much in the same way as version control systems like GIT and subversion offer the possibility to make different "​development branches"​ of a program'​s source code. 
-  * It should allow an extensible means to check the modified program for inconsistentcies. (For example, if course X has course Y as prerequisite,​ then course Y should not be scheduled in 2nd semester and X in 1st semester. Moreover, the total number of ECTS of all courses should be at most 60 ECTS. ) 
-  * It should allow to analyze the modifications proposed in the teaching programs, and summarize the impact that these changes could have on other programs. (For example, if a course is removed from the computer science curriculum, it should be flagged that it should also be removed from all curricula that included the course.) 
-  * It should load data from (and preferably, save data to) the ULB central administration database. 
-  * It should give suggestions concerning the impact of the modifications on the course schedules. 
  
-proof-of-concept implementation of revision tool that supports ​the first two requirements above is currently being developped ​in the context ​of a PROJH402 project. The MFE student that selects this topic is expected to: +=====Generic Similarity Measure For Symbolic Trajectories===== 
-  * Develop this prototype to a production-ready implementation. +Moving object databases (MOD) are database systems that can store and manage moving object data. A moving object is value that changes over time. It can be spatial (e.g., a car driving on the road network), or non-spatial (e.g., the temperature ​in Brussels). Using a variety of sensors, ​the changing values ​of moving objects can be recorded in digital formats. A MOD, then, helps storing and querying such data. There are two types of MOD. The first is the trajectory ​database, that manages ​the history of movementThe second type, in contrast, manages ​the stream ​of current movement and the prediction of the near future. This thesis belongs ​to the first type (trajectory databases). The research in this area mainly goes around proposing data persistency models ​and query operations for trajectory data. 
-  * Implement ​the communication with the central ULB database+
-  * Implement ​the impact analysis concerning the course schedules. +
-  * Interact with the administration ​of the Ecole Polytechnique ​to fine-tune ​the above requirements;​ test the implementation; ​and integrate remarks after testing+
  
-\\ +A sub-topic of MOD is the study of semantic trajectoriesIt is motivated by the fact that the semantic of the movement is lost during the observation processYou GPS logger, for instance, would record a sequence of (lon, lat, time) that describe your trajectoryIt won't, however, store the purpose of your trip (work, leisure, …), the transportation mode (car, bus, on foot, …), and other semantics of your tripResearch works have accordingly emerged to extract semantics from the trajectory raw data, and to provide database persistency to semantic trajectories
-**Interested?​** Contact : Stijn Vansummeren (stijn.vansummeren@ulb.ac.be), Frédéric Robert <​frrobert@ulb.ac.be>+
  
 +Recently, Ralf Güting et al. published a model called “symbolic trajectories”,​ which can be viewed as a representation of semantic trajectories:​
 +Ralf Hartmut Güting, Fabio Valdés, and Maria Luisa Damiani. 2015. Symbolic Trajectories. ACM Trans. Spatial Algorithms Syst. 1, 2, Article 7 (July 2015), 51 pages.
 +A symbolic trajectory is a very simple structure composed of a sequence of pairs (time interval, label). So, it is a time dependent label, where every label can tell something about the semantics of the moving object during its associated time interval. We think this model is promising because of its simplicity and genericness. ​  
  
-**Status?** Already taken+The goal of this thesis is to implement a similarity operator for symbolic trajectories. There are three dimensions of similarity in symbolic trajectories:​ temporal similarity, value similarity, and semantic similarity. Such an operator should be flexible to express arbitrary combinations of them. It should accept a pair of semantic trajectories and return a numerical value that can be used for clustering or ranking objects based on their similarity. Symbolic trajectories are similar to time series, except that labels are annotated by time intervals, rather than time points. We think that the techniques of time series similarity can be adopted for symbolic trajectories. This thesis should assess that, and implement a similarity measure based on time series similarity. The implementation is required to be done as an extension to PostGIS. We have already implemented some temporal types and operations on top of PostGIS, where you can start from. 
  
 + 
 +**Deliverables** of the master thesis project
 +  * Reporting on the state of art of semantic trajectory similarity measures.
 +  * Reporting on the state of art in time series similarity measures.
 +  * Assessing the application of time series similarity to symbolic trajectories.
 +  * Implementing symbolic trajectories on top of PostGIS.
 +  * Implementation and evaluating the proposed symbolic trajectory similarity operator. ​  
  
-===== Semi-Supervised Entity Resolution ===== 
-Toon Calders (WIT) 
  
-In the big data era large collections of data have become available for analysisThese data, however, often come from different data sources and may contain errorsConsider for instance a company that wants to combine data from marketing and sales in order to see to what extent the targeted marketing campaign has been successful in attracting new customers. A key operation in this analysis is the identification of which records from marketing and sales refer to the same person. In this way it can be determined which targeted potential customers were already clients, and of the contacted non-clients,​ which ones reacted to the marketing campaign. Furthermore,​ most likely the records of marketing are far less reliable and formatted differently than those of sales. For instance, the marketing records won't usually contain a client number. The process of linking these sources together and identifying which records refer to the same person is know as entity resolution. Most existing approaches for entity resolution use either a fixed set of pre-determined rules, which may be sub-optimal for the problem at hand, or are based on learning classifiers which requires large amounts of labelled data.+**Interested?​** 
 +  * Contact : [[ezimanyi@ulb.ac.be|Esteban Zimanyi]]
  
-In this thesis you will study the possibility of entity-resolution in the absence of large collections of labelled data, by exploiting redundancies in the features with which records can be compared in combination with an active learning approach in which volunteers can be asked to label some examples on the fly. +**Status**: available
-\\ +
-**Interested?** Contact [[toon.calders@ulb.ac.be|Toon Calders]]+
  
  
-===== Using Non-Redundant Sequential Pattern Mining ​for Process Discovery ​===== +=====JDBC driver ​for Trajectories===== 
-Toon Calders (WIT)+The research in moving object databases MOD has been active since the early 2000. Many individual works have been proposed to deal with the different aspects of data modeling, indexing, operations, etc. A couple of prototypes have also been proposed, some of which are still active in terms of new releases. Yet, a mainstream system is by far still missing. Existing prototypes are merely research. By mainstream we mean that the development builds on widely accepted tools, that are actively being maintained and developed. A mainstream system would exploit the functionality of these tools, and would maximize the reuse of their ecosystems. As a result, it becomes more closer to end users, and easily adopted in the industry.
  
-Process mining is the act of deriving ​process modelsuch as for instance a Petri-net or a BPMN modelbased on an event log. An example of such a log could be all events that an insurance company undertakes ​for pricing a car insurance based on a request from clientEvents could be looking up if the client has been blacklistedhis or her history w.r.t. car accidentsestimating ​the risk based on car type, age and gender of the requester, making a proposal, soliciting ​the agreement of the client, in case of disagreement,​ contacting a manager to approve a special offer, etcBased on several traces for different clients may allow the automatic reconstruction of a process model. There exist several approaches for process miningincluding footprint based algorithms such as AlphaAlpha+, heuristic algorithms including heuristics miner, genetic algorithms, region based methods, etc. The goal of this thesis is to explore the possibility of using current state-of-the-art data mining algorithms for sequence ​and episode mining as a basis of a new and improved version of the alpha-algorithm.+In our group, we are in the course ​of building MobilityDB, ​mainstream MOD. It builds on PostGIS, which is a spatial database extension of PostgreSQL. MobilityDB extends the type system of PostgreSQL and PostGIS with ADTs for representing moving object data. It defines, for instance, the tfloatp for representing ​time dependant floatand the tgeompoint ​for representing ​time dependant geometry pointMobilityDB types are well integrated into the platformto achieve maximal reusability,​ hence a mainstream developmentFor instance, the tfloatp builds ​on the PostgreSQL doubleprecision ​type, and the tgeompoint build on the PostGIS geometry(point) typeSimilarly MobilityDB builds ​on existing operationsindexing, and optimization framework.
  
-Van der Aalst, WM. (2011). Process Mining: Discovery, Conformance ​and Enhancement of Business ProcessesSpringer.+This is all made accessible via the SQL query interfaceCurrently MobilityDB is quite rich in terms of types and functionsIt can answer sophisticated queries in SQL.
  
 +An important, and still missing, piece of MobilityDB is Java JDBC driver, that will allow Java programs to establish connections with MobilityDB, and store and retrieve data. This thesis is about developing such a driver. As all other components of PostgreSQL, its JDBC driver is also extensible. This documentation gives a good explanation of the driver and the way it can be extended:
 +https://​jdbc.postgresql.org/​documentation/​head/​index.html
 +It is also helpful to look at the driver extension for PostGIS:
 +https://​github.com/​postgis/​postgis-java
  
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]]+As MobilityDB build on top of PostGIS, the Java driver will need to do the same, and build on top of the PostGIS driverMainly the driver will need to provide Java classes to represent all the types of MobilityDB, and access the basic properties 
  
-===== Mining patterns for compression ===== +This thesis project hence will help developing the student skills in: 
-Toon Calders (WIT)+  * Understanding the theory and the implementation of moving object databases. 
 +  * Understanding the architecture of extensible databases, in this case PostgreSQL. 
 +  * Writing open source software.
  
-Data mining is the research discipline that studies the extraction of information from large amounts of data. One of the typical data mining tasks is pattern mining where we try to find regularities that occur frequently in a dataset. The prototypical example is that of a supermarket storing for every customer visiting the supermarket,​ the transaction;​ that is, the set of items that were bought by that customer. The frequent itemset mining problem now is to detect which combinations of products were more often sold together than a given threshold. One of the major problems of pattern mining algorithms, however, is the enormous amount of redundant patterns they generate; for instance, very popular items, such as toilet paper, tend to appear in many frequent combinations purely due to chance. In order to deal with this problem, techniques based upon compression and minimum description length were proposed to reduce the number of patterns. The rationale behind the minimal description length principle is that a set of patterns that describes well what is happening in the dataset should allow for a good compression. For a collection of patterns, the quality is measured as the description length of the patterns plus the size of the data compressed with these patterns. For instance, if the pattern {bread, milk, butter} has a high frequency, we could opt to replace every occurrence of this pattern by a special code, effectively reducing the encoding length of the data. Surprisingly,​ however, the MDL principle was until now only used to rule out redundant patterns, and it has not been researched yet how well the discovered patterns actually do compress the data as compared to compression algorithms such as Lempel–Ziv–Welch. ​ 
-Hence, in this highly research oriented graduation project, two research questions are central: (1) How good do non-redundant pattern sets based on MDL allow compressing data, and (2) Can we extract useful patterns from existing compression algorithms? 
- 
-Interested? Contact [[toon.calders@ulb.ac.be|Toon Calders]] 
- 
- 
- 
-=====Publishing and Using Spatio-temporal Data on the Semantic Web===== 
- 
- 
-[[http://​www.w3c.org/​|RDF]] is the [[http://​www.w3c.org/​|W3C]] proposed framework for representing information 
-in the Web. Basically, information in RDF is represented as a set of triples of the form (subject,​predicate,​object). ​ RDF syntax is based on directed labeled graphs, where URIs are used as node labels and edge labels. The [[http://​linkeddata.org/​|Linked Open Data]] (LOD) initiative is aimed at extending the Web  by means of publishing various open datasets as RDF,  setting RDF links between data items from different data sources. ​ Many companies ​ and government agencies are moving towards publishing data following the LOD initiative. 
-In order to do this, the original data must be transformed into Linked Open Data. Although most of these data are alphanumerical,​ most of the time they contained ​ a spatial or spatio-temporal component, that must also be transformed. This can be exploited ​ 
-by application providers, that can build attractive and useful applications,​ in particular, for devices like mobile phones, tablets, etc.  
- 
-The goals of this thesis are: (1) study the existing proposals for mapping spatio-temporal data into LOD; (2) apply this mapping to a real-world case study (as was the case for the [[http://​www.oscb.be/​|Open Semantic Cloud for Brussels]] project; (3) Based on the produced mapping, and using existing applications like the [[http://​linkedgeodata.org/​|Linked Geo Data project]], build applications that make use of LOD for example, to find out which cultural events are taking place at a given time at a given location. ​   
-  
- 
-    * Contact: [[ezimanyi@ulb.ac.be|Esteban Zimányi]] 
- 
-=====Extending SPARQL for Spatio-temporal Data Support===== 
- 
-[[http://​www.w3.org/​TR/​rdf-sparql-query/​|SPARQL]] is the W3C standard language to query RDF data over the semantic web. Although syntactically similar to SQL,  SPARQL is based on graph matching. In addition, SPARQL is aimed, basically, to query alphanumerical data.  ​ 
-Therefore, a proposal to extend SPARQL to support spatial data, called ​ [[http://​www.opengeospatial.org/​projects/​groups/​geosparqlswg/​|GeoSPARQL]],​ has been presented to the Open Geospatial Consortium.  ​ 
-  
-In this thesis we propose to (1) perform an analysis of the current proposal for GeoSPARQL; (2) a study of  current implementations of SPARQL that support spatial data; (3) implement simple extensions for SPARQL to support spatial data, and use these language in real-world use cases. ​ 
-  
- 
-   * Contact: [[ezimanyi@ulb.ac.be|Esteban Zimányi]] 
-  
 
teaching/mfe/is.txt · Last modified: 2020/09/29 17:03 by mahmsakr