Oracle Labs PGX Downloads

Thank you for downloading this release of the Oracle Labs Parallel Graph Analytics (PGX) toolkit. This toolkit includes tools useful for Parallel in-memory Graph Analysis.
You must accept the OTN License Agreement to download this software.
Accept License Agreement | Decline License Agreement

Download Oracle Labs PGX release 1.0.0
Download green-marl-compiler-32bit-2015.03.22.jar

Getting started instructions are available here.

About this OTN Release

PGX is a research artifact from Oracle Labs, whereas the current OTN release is a technology preview version of it. Henceforth, this release is intended for information purpose only, and may not be incorporated into any contract. This is not a commitment to deliver any material, code, or functionality to Oracle products, and thus should not be relied upon in making any purchase decisions. The development, release and timing of any features or functionality described for products of Oracle remains at the sole discretion of Oracle.

What's new in 1.0.0

  • Compiler optimization: improved performance by merging properties
  • Compiler robustness: better dead-code and return statement checks
  • Reduced memory consumption of date properties
  • Reduced download package size
  • Improved Javadocs

What's new in 0.9.1

  • Improved documentation
  • Fixed bug which led to array index out of bounds error when undirecting a certain type of graph
  • Fixed bug which wrongfully rejected list of given edge properties when requesting a bipartite subgraph in the remote case

What's new in 0.9.0

  • 64bit support: ability to load more than 2^32 edges
  • Added remote support
    • Deploy PGX as a web application
    • Core interface exposed via REST
    • Connect to running web application via HTTP, client PGX shell or client Java application
  • Added Hadoop support
    • Load/Store graph data from/to HDFS
    • Run PGX as YARN application (single-node only)
  • New built-in algorithm: Fattest path
  • Allow modification of the PGX runtime configuration values
  • Added support for PGX-managed scalars
  • New APIs to modify PGX-managed maps
  • Added support to load graph data from Oracle NoSQL
  • Added support to load graph data from Apache HBase
  • Create subgraphs from filter expressions
  • Updated Groovy dependency to 2.4.0 
  • Support for Green-Marl specification 0.6.2
    • Placeholder in group assignments
    • Read-only input arguments
    • Removed @-syntax for reductions
    • Date/time type and edge built-ins
  • Simplified sparsification APIs
  • Added more Green-Marl compiler optimizations
  • Decreased the size of the Green-Marl compiler binary
  • Added Green-Marl compiler support for 32bit Linux platforms
  • Improved binary format loader: use memory mapping for better performance
  • Refactored text-based graph loaders
  • Load file-based graph data from classpath
  • Improved graph configuration handling
    • Added support for inheritance of configuration schemas
    • Added schema-specific graph factories and builders
    • Added support to load configuration files from classpath
    • Added support for configuration files in the Java properties format
  • Analysis timeout is now called task timeout and also applies to loading tasks
  • Added constants "Properties.ALL" and "Properties.NONE" to fix inconsistencies between "null" and empty lists

Known Issues

  • When you load a graph, then change the graph and try to load the same graph again, the PGX engine will assume it is the same graph and give you a cached result. Use Core.refreshGraphWithProperties() instead to reload the graph.