Giter VIP home page Giter VIP logo

decypher's Introduction

Welcome to my GitHub page, weary traveler. My name is Guillaume Plique, aka Yomguithereal and I am a research engineer working with social science researchers and designers in Sciences Po's médialab in Paris.

I am usually available for some light/short freelance or consulting work. You can join me by writing at guillaumeplique+freelance on gmail.com servers for such enquiries.

I usually work in the following domains:

  • Webmining (Scraping, APIs, Crawling etc.)
  • Algorithmics & data structures
  • Fuzzy matching & full-text search tweaking
  • Record linkage & deduplication
  • Natural Language Processing
  • Machine learning & data science
  • Graph theory & interactive visualisation
  • Fullstack web development

You can also read some shenanigans on my blog over there: https://yomguithereal.github.io/

Finally, you can support my Open Source work by sponsoring me directly on GitHub over here: https://github.com/sponsors/Yomguithereal

decypher's People

Contributors

yomguithereal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

decypher's Issues

allow `decypher` requiring from a relative path to other directories than the working directory

Example

with a project folder structure like so:

queries
    | read_graph.cypher
src
    | queries
        | read_graph.cypher
    | file.js
index.js

Expected Behaviour:

I expect decypher('./queries/read_graph.cypher') to load either the one file (./queries/read_graph.cypher when calling decypher() in index.js) or the other (./src/queries/read_graph.cypher when calling decypher() in file.js).

Actual Behaviour:

decypher always loads ./queries/read_graph.cypher even when calling it from file.js because it uses fs.readFileSync here which seems to work with the working directory instead of the directory where the file is present.

Ability to remove a 'return clause' or to add above it

I have made a few generic functions to do things like get some set of nodes (see pseudo code simple example below):

function getLabel
   cypher.match('(n:Label)')
      .return('n);

   return cypher;

I would like to reuse the base cypher query I wrote (in the above case MATCH (n:label)) in other functions. e.g.:

function deleteNodesWithLabel
   var getLabelQuery = getLabel();
   var deleteQuery = new Query();

   deleteQuery.add(getLabelQuery)
        .delete('n');

   return deleteQuery;

The above is a pretty forced pseudo code example but being able to make modular cypher queries for reuse would be very powerful.

I could, for the interim, just wait to put my .return('n') until I am actually about to run my query. However that forces all my functions to know about what my node variables are.

foreach doesn't properly format the query string

var cypher = new Query();
cypher.foreach('name in {names}', {names: ['a']}).merge('(c {name: name})');
cypher.toString(); // 'FOREACH name in {names}\nMERGE (c:colPHI {name: name});'

Foreach should have the following format:

FOREACH ( iterator in list | list of statements)

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.