Git Product home page Git Product logo

ofnil's Introduction

Ofnil Graph Feature Platform

This project is under active development and we may break API compatibility in the future. We welcome contributions and community feedback.

Ofnil is a graph feature platform, which creates, manages and serves graph features for graph machine learning.

Features

Connect your graph database to graph machine learning

Currently, using Graph Neural Networks (GNNs) on graph databases (e.g., Neo4j) requires tedious work to prepare data to be consumed by GNN frameworks (e.g., DGL, PyG). GCO provides a unified graph feature definition and feature engineering pipeline, which can be used to connect your graph database effortlessly to downstream graph machine learning.

By defining and deploying your graph feature definition in Ofnil, you can save tremendous efforts of writing, maintaining and debugging the tedious data mapper, connector, dataloader, sampler, data pipeline code, etc. You also need not worry about the graph feature consistency, correctness, or different graph database infrastructure behaviors. Therefore, you can now simply focus on your graph feature definition and graph machine learning models that are needed by your business/applications.

Define graph features in an intuitive and declarative way

// The code below is for the purpose of demonstration only. You may refer to examples/quickstart/main.rs for executable code.

let average_price = graph
    .aggregate_neighbors(Some(product_entity), reviewer_entity, vec!["price"], "mean")?
    .export(&redis_infra_id);

let user_pagerank = graph
    .page_rank(
        vec![reviewer_entity, sameRates_entity],
        reviewer_entity,
        None, // Damping factor, default: 0.85
        None, // Max iteration, default: 20
        None, // Tolerance, default: 1e-7
    )?
    .export(&redis_infra_id);

let triangle_count = graph
    .triangle_count(vec![reviewer_entity, sameRates_entity], reviewer_entity)?
    .export(&redis_infra_id);

let item_prop = transform_graph
    .aggregate_neighbors(
        Some(product_entity),
        reviewer_entity,
        vec!["rank1", "rank2"],
        "mean",
    )?
    .export(&redis_infra_id);

Upcoming Issues

  • Real-time graph feature support for streaming graph update (with a unified consistent graph feature definition for both batch and streaming).
  • Graph feature Point-in-Time (PIT) correctness.
  • Advanced feature engineering pipeline analysis, e.g., data lineage, feature monitoring, feature discovery, etc.
  • Graph feature as a Service, hide difficult and tedious details of graph feature engineering and serving with just a few lines of graph feature definition.
  • ...

Getting Started

ofnil's People

Contributors

skill-diver avatar

Watchers

 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.