Code Monkey home page Code Monkey logo

benchmark's Introduction

Benchmark

CityBench is a java-based benchmarking toolset for RSP engines, currently CQELS and C-SPARQL are supported.

##Prerequisite

  • JVM 1.7
  • Webserver of your choice (JBoss,Tomcat etc.)
  • Java IDE (for debugging and extensions)

##Folders & Files

  1. cqels_query: sample queries in CQELS syntax;
  2. csparql_query: sample queries in C-SPARQL syntax;
  3. dataset: background knowledge base, mostly sensor service repositories;
  4. ontology: ontologies used;
  5. result_log: output files generated by CityBench, e.g., query latency, result count and memory consumption;
  6. src:source code;
  7. lib: libraries used;
  8. streams: sensor observation raw data in .csv formats, used to generate RDF streams;
  9. EC-log: logger file output;
  10. citybench.properties: configuration file loaded by CityBench.

##To run

  1. Download all resources and source code
  2. Import to your Java IDE and run CityBench.java Or
  3. Use "java -jar" command to execute the CityBench.jar

##Configuration file

  • dataset = dataset/[your_sensor_repository_file] // tell CityBench where to look for static background knowledge.
  • ontology = [your_ontology_folder] // tell CityBench where to look for ontologies used.
  • streams = [your_streams_folder] // tell CityBench where to look for raw data to simulate sensor streams.
  • cqels_query = [your_cqels_queries_folder] // tell CityBench where to look for cqels queries.
  • csparql_query = [your_csparql_queries_folder] // tell CityBench where to look for csparql queries.

// All paths are relative path to the project root

// Normally if you use the downloaded resources as they are, you would not need to change the default content in the configuration file. The exception is the dataset property: you might want to change the default sensor repositories and use a different repository file (e.g., dataset/simrepo-5-10.n3) in order to test the performance of the cqels engine with different KB sizes loaded

##Program Parameters Acceptable params:

  • rates = (double)x, // sensor stream acceleration rate (based on real world sensor observation intervals)
  • queryDuplicates = (int)y, // number of duplicates to run concurrently
  • duration = (long)z, // duration of the test in milliseconds
  • startDate = (date in the format of "yyyy-MM-dd'T'HH:mm:ss")a, // start time of the sensor observations used
  • endDate = b, // ending time of the sensor observations used
  • frequency = (double)c. // fixed frequency for sensors, only has effects when rate=1.0
  • engine = "cqels" or "csparql" // engine to test
  • query = (String) q // file names of the queries to run (under cqels_query or csparql_query), separate with ","

engine, start and end dates are mandatory.

Notice for C-SPARQL tests

Some C-sparql queries needs loading static knowledge bases, those queries contains clauses like " FROM http://127.0.0.1:9000/WebGlCity/RDF/SensorRepository.rdf ".

To load such RDF files, deploy the rdf files under "dataset/csparql_web_server/" on your local web server and make sure they are accessible from the url specified in the clause (you can change the url according to your web server configuration).

benchmark's People

Contributors

citybench avatar eugenesiow avatar

Watchers

 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.