<commit_before># Flechtwerk

The aim of _flechtwerk_ is to provide a very minimal wrapper for the neo4j graph
database. There are other alternatives which might be much more feature rich, but
this gem will remain very barebone.

## Installation

Add this line to your application's Gemfile:

    gem 'flechtwerk'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install flechtwerk

## Usage

Get the root node for the graph

    Flechtwerk.root

Find a specific node by its it or node hash

    Flechtwerk.find_node(id)

Create a new node

    Flechtwerk.create_node # empty node
    Flechtwerk.update_node(id, { name: 'Testnode', size: 12 })

Change a nodes attributes

    Flechtwerk.update_node(id, { name: '<NAME>', age: 35 }) # resets all attributes
    Flechtwerk.update_node_property(id, 'name', 'New name') # only changes the name attribute
    Flechtwerk.delete_node_property(id, 'name') # removes only the name attribute

Delete a node

    Flechtwerk.delete_node(id)

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request<commit_msg>Fix invalid README file<commit_after># Flechtwerk

The aim of _flechtwerk_ is to provide a very minimal wrapper for the neo4j graph
database. There are other alternatives which might be much more feature rich, but
this gem will remain very barebone.

## Installation

Add this line to your application's Gemfile:

    gem 'flechtwerk'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install flechtwerk

## Usage

Create a connection object

    graph = Flechtwerk.new

Get the root node for the graph

    graph.root

Find a specific node by its it or node hash

    graph.find_node(id)

Create a new node

    graph.create_node # empty node
    graph.update_node(id, { name: 'Testnode', size: 12 })

Change a nodes attributes

    graph.update_node(id, { name: '<NAME>', age: 35 }) # resets all attributes
    graph.update_node_property(id, 'name', 'New name') # only changes the name attribute
    graph.delete_node_property(id, 'name') # removes only the name attribute

Delete a node

    graph.delete_node(id)

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
{'fraction_non_alphanumeric': 0.07753164556962025, 'fraction_numerical': 0.007911392405063292, 'mean_word_length': 3.7537593984962405, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '157597', 'n_tokens_mistral': 785, 'n_tokens_neox': 766, 'n_words': 326}