Giter Site home page Giter Site logo

cypher-rb's Introduction

cypher-rb

JavaScript library to use cypher directly from (static) HTML pages to query Neo4j data.

Basic idea

Sample 1: Create data table by cypher query.

Fill a HTML table with a cypher query. Tables with class cypher-table will be checked for data-query attribute. The corresponding query is executed and the table filled with the results.

<table class="cypher-table" 
       data-query="MATCH (p:Person) OPTIONAL MATCH p-->(e:Engagement)-->(r:Project)-[:HAS_CUSTOMER]->(c:Organisation)                             WHERE e.end > @today 
                  RETURN p.fullname as Name, p.username as ID, 
                         collect(r.name) as `Current Projects`, c.name as Customer 
                  ORDER BY p.fullname", {today: '2015-09-20' })">
</table>

Sample 2: Bind form to cypher query to execute updates.

Put a button classed as inline-submit inside a form and add a cypher query to data-exec attribute. The forms fields will be injected in the query. Use @field for values that need to be quoted and #field for unquoted values.

<form class="form-inline">
  <div class="form-group">
    <label for="pr-name">Name</label>
    <input id="pr-name" type="text" name="name" class="form-control"/>
  </div>
  <div class="form-group">
    <label for="pr-customer">Customer</label>
    <input id="pr-customer" type="text" name="customer" class="form-control"/>
  </div>
  <div class="form-group">
    <label for="pr-acm">Account manager</label>
    <input id="pr-acm" type="text" name="acm" class="form-control rb-suggest"
          data-query="MATCH (p:Person) WHERE lower(p.fullname) =~ @term OR lower(p.username) =~ @term
                 RETURN p.username as value, p.fullname as label"/>
  </div>
  <button class="inline-submit btn btn-primary"
          data-exec="MATCH (p:Person) WHERE p.username = @acm
                CREATE (p:Project { name: @name, customer: @customer })-[:HAS_ACCOUNT_MANAGER]->(p)"
          data-onsuccess="updateProjectsTable">
    Add project
  </button>
</form>

cypher-rb's People

Contributors

otigges avatar

Watchers

Martin Kühl avatar  avatar Oliver avatar Tim avatar Michael Schuerig avatar Daniel Bornkessel avatar Oliver Wolf avatar Martin Otten avatar Hermann Schmidt avatar Matthias Deja avatar David Kamphausen avatar Sven Johann avatar Simon avatar Aminata Sidibe avatar  avatar Thorsten Kamann avatar Michael Plöd avatar Jens Bendisposto avatar Dr. Simon Harrer avatar  avatar Sebastian Janzen avatar  avatar Eberhard Wolff avatar Alexander Heusingfeld avatar Philipp avatar Tobias Neef avatar Michael Vitz avatar Torsten Mandry avatar Thomas Bandholtz avatar  avatar Martin Huber avatar Patrick Kaufmann avatar Martin Eigenbrodt avatar James Cloos avatar Christian Stettler avatar Johannes Seitz avatar Jan Nikolai Trzeszkowski avatar Martina Freers avatar  avatar  avatar  avatar Silvia Schreier avatar Marc Jansing avatar Falk Hoppe avatar Theo Pack avatar Christopher Stolle avatar  avatar  avatar  avatar  avatar Erik Wilde avatar Algorab avatar Dr. Larysa Visengeriyeva avatar Gerrit Beine avatar Stefan Negele avatar Hanna Prinz avatar  avatar  avatar  avatar Matthias Putz avatar  avatar  avatar Dominik Hellweg avatar Max Schröter avatar  avatar Fabian Kretzer avatar Ludvig Sundström avatar Martin Schmidt avatar Mona Klein avatar  avatar  avatar  avatar André avatar Sebastian Schwaiger avatar Benedikt Hunger avatar Isabel König-Wingen avatar Christina avatar Timo avatar  avatar  avatar Dimitrij Drus avatar Steffen avatar Sonja avatar Alexey Novakov avatar  avatar  avatar Martin Weck avatar Dominik Horstkamp avatar Roger Heggli avatar Joshua Töpfer avatar  avatar Stefan Paal avatar Daniel Lauxtermann avatar  avatar tbse avatar  avatar Martin Petras avatar Frank Pestke avatar Ruben 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.