Code Monkey home page Code Monkey logo

egg's Introduction

EGG: Evolving Graph Generator

EGG is an open-source framework for generating evolving RDF graphs based on finely-tuned temporal constraints given by the user.

We built EGG on top of gMark, a state-of-the-art static graph generator. EGG takes as input (i) an initial graph generated by gMark, and (ii) an evolving graph configuration that encodes how the evolving properties of the nodes and edges of the graph from point (i) should evolve over time. The output of EGG is an RDF graph annotated with temporal information that encodes a sequence of graph snapshots satisfying the constraints given by the user.

EGG has been accepted as a demo paper in ISWC 2017.

If you use EGG, please cite:

@inproceedings{ACM17,
 author    = {Alami, K. and Ciucanu, R. and Mephu Nguifo, E.},
 title     = {{EGG}: A Framework for Generating Evolving {RDF} Graphs},
 booktitle = {ISWC Posters \& Demonstrations},
 year      = {2017}
}

Running example

To illustrate the different finely-tuned constraints that the user can specify as EGG input, we rely on the Trip geographical database use-case.

Repository organization

The EGG repository is organised as follows:

  • src/: directory of source code of EGG.

  • use-cases/: one directory for each use case, where we put both gMark configuration and EGG configuration.

  • demo/:

    • For every use case (trip, social, dblp, shop, univ): script to run EGG and a directory containing output examples. For each of these use cases, we provide examples of plots generated by EGG in the Accuracy wikis that are accessible from the EGG main wiki.

    • Scalability: script to evaluate scalability of EGG. More information in EGG scalability wiki.

    • System evaluation: script to evaluate historical reachability queries using EGG output. More information in the system evaluation wiki.

Running EGG

To begin working with EGG, please clone EGG and run the requirement script, which checks and installs all software needed to run EGG:

git clone https://github.com/karimalami7/EGG.git
cd EGG/demo/scripts/
sudo ./requirement.sh

To run EGG on a sample play use case, please run the following commands (assuming you are in the aforementioned demo/scripts directory):

cd ../play
./play-script.sh

The different options from the above play script are:

  • --rdf-output : serialization of the evolving graph in RDF

  • --vg-output : serialization of the evolving graph in version graph format

  • --plot-byproperty : generate plots for all evolving properties defined in the EGG configuration

  • --plot-byobject : generate plots for all node/edge objects showing the evolution of each of their properties

Feel free to modify the gMark configuration and EGG configurations from the play directory.

To run each provided use case X, where X is one of {trip, social, dblp, shop, univ}, please run:

cd ../X
./X-script.sh

Contact

egg's People

Contributors

karimalami7 avatar radu1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.