Friday, November 30, 2012

Neo4j.org - A New Path


The neo4j.org website has been around and pretty static for a while - let’s move on! We want to welcome new Neo4j users with helpful information on how to get started and be successful developing applications using Neo4j.


So we set out to create a new, informative site for everyone. Being Techies we moved from Wordpress to an node.js express app which is running on Heroku and hosted on GitHub. It is now easier than ever to contribute to the site. Just fork it, make your changes and issue a pull request. GitHub issues for feature requests are very welcome.


When you enter Neo4j.org you should easily find a good starting point and then progress through the available information at your own pace. The information is much lighter on the site than in the manual, we didn’t want to duplicate the rich information there, but link to it where appropriate. We also tried to make things more accessible by recording screencasts that show how to achieve different goals.

We tried to put the available information into three broad categories:

Learn

  • General information about graph databases, Neo4j and NOSQL data models
  • An interactive cypher tutorial
  • Explanation of the Neo4j editions and licensing

Develop

  • Information about how to download and install Neo4j
  • A huge gallery of drivers for the different programming programming languages and frameworks
  • The Neo4j console with some interesting data-sets as well as datasets to be installed in your local or cloud-based Neo4j server
  • Information on how to use Neo4j in the Cloud, installation instructions for EC2 and the Heroku Add-On
  • Some tidbits about graph visualizations

Participate

  • An ever growing gallery of our awesome contributors and driver authors
  • Neo4j on StackOverflow and the Neo4j Google Group
  • The local Neo4j meetup groups
  • Neo4j’s github repository and issue tracking
  • The Neo4j graphistas map
  • And most importantly instructions on how to give feedback and contribute to the site itself

Install

  • Download and installation of Neo4j
  • Integrating Neo4j in your JVM-language project using a build-system of your choice
  • Installing Neo4j on debian/ubuntu-Linux using apt and on MacOS using brew
It is a lot of information to swallow and explore, we hope you find it valuable and tell us what you like, what you’re missing and how to improve the site and the information there. Don’t hesitate to contact us.

Thanks to all the contributors to Neo4j and the site and for all the feedback we got so far.

Onward to new adventures
“You step into the Road, and if you don't keep your feet, there is no knowing where you might be swept off to.” - Tolkien

Aileen, Andreas, Peter and Michael

Monday, November 19, 2012

Graph Databases in Life Sciences Workshop

As Bio-Technology is one of the hot topics of the century and graph databases are on the rise in this decade, we thought it would be a good idea to bring researchers and bioinformatics developers together for a workshop about the applicability of graph databases in biological research and application.

Fortunately Prof. Lennart Martens a group leader in the Department of Medical Protein Research at VIB and Ghent University offered to host the workshop. So Neo Technology's Rik Van Bruggen and Lennart Martens organized the workshop and invited a host of attendees from a variety of backgrounds.
26 participants found their way to the picturesque meeting hall of the University of Ghent (a former monastery) to enjoy a full day packed with presentations, discussions and a hands-on workshop. We were greeted by a life size poster of the metabolic interaction pathways in humans.

After the introduction by Lennart and Rik, I ran a quick intro to NOSQL and graph databases in particular and their applicability in a wide range of fields, also with some reference to existing biotech applications.
Thilo Muth who works as a PhD with Lennart works in the area of Metaproteomics an interesting technique about mapping protein fragments to potential bacterial targets and creating meta-proteins on matching groups. He introduced the topic and how they used graph oriented data models to reason about potential mappings.

Pablo Pareja of Oh no sequences! presented Bio4j an open-source research database (and platform) integrating many different sources for protein, genome and taxonomy information. Bio4j also runs on Neo4j and currently holds almost 1 billion relationships. (Slides 1, 2, 3)

In the time until lunch I answered some questions about Neo4j especially about the roadmap, scaling and we highlighted some visualization approaches, like Gephi, Cytoscape and HivePlots.

During the breaks and over lunch we had lots of interesting discussions about life sciences in general, working with scientist and particiular data management problems.

After lunch, Anthony Liekens presented biograph.be a knowledge discovery system for finding relevant information in the area of life science, e.g. proteins in reactions ranked by their publication relevance. The system employs a page rank algorithm that is implemented using matrix multiplication on a parallel processing system.

Davy Suvee of Janssen Pharmaceutica and datablend.be presented different Graph Database usecases from his experience at a big pharmaceutical company. He closed the presentation with an intro to a time-traveling graph implementation on top of Datomic called FluxGraph.

Thilo then introduced the topic of the workshop "Graph Databases in Life Science" and the "Reactome" database of human protein interaction pathways. He discussed some Neo4j APIs and how they can be used to import the data from flat CSV files into a graph database. The attendees set up their development environment with the Neo4reactome project that we prepared upfront and ran the import successfully.
After importing the data we looked at some use-cases, first visualizing pathways in the Neo4j Web-UI and then running several queries using Neo4j's query language Cypher to find certain proteins (HBA and HBB) and their interaction pathways.
And example task looked like this:

Find the common pathways of HBA and HBB

Both proteins should be involved in particular pathways, which should be easy to find by querying. Now we want to retrieve only the pathways which have both proteins in common.

    START proteinA=node:proteins(accession = "P69905"),     
    proteinB=node:proteins(accession = "P68871") 
    MATCH (proteinA)-[:INVOLVED_IN]->(pathway)<-[:INVOLVED_IN]-(proteinB) 
    RETURN pathway

Results

  • Metabolism
  • O2/CO2 exchange in erythrocytes
  • Uptake of Carbon Dioxide and Release of Oxygen by Erythrocytes
  • Uptake of Oxygen and Release of Carbon Dioxide by Erythrocytes

After the workshop the discussions continued over a broad range of topics.

I want to thank again Lennart Martens, Thilo Muth and Rik Van Bruggen for organizing such a great workshop. And of course Pablo Pareja, Davy Suvee and Anthony Liekens for presenting.

We started a "neo4j-biotech" google group some weeks ago, and would like to invite everyone to join this discussion forum to engage in conversations in the biotech domain with colleagues that have the same background and vocabulary.

Cheers,

Michael Hunger, Neo4j Community Team

Saturday, November 17, 2012

Community @ GraphConnect

GraphConnect was an awesome event with engaged attendees, impressive speakers and great conversations.
The Neo4j community team was happy to have supported the event, but the biggest thanks go to Allison Sparrow and Adam Herzog for the bulk of the organization.

We had a quite busy time. Andreas picked up the IKEA furniture on Friday which we had lots of fun assembling during Friday night. Then we used the time for an intensive community discussion with Pernilla, Peter and Michael.


On Sunday we first joined forces working on the new site for neo4j.org and then had a great first community hangout at our incredible airbnb place by Cheryl.

On Monday Jim and Ian presented their Neo4j themed Dr.Who tutorial which was a real success. Besides Peter helping out there we prepared the Monday evening meetup and organized the furniture transport.

Monday evening saw a full house at the Thirsty Bear with delicous beer and food.

We used the opportunity to look back at the first tiny meetups and happily showed the growth over the year to 32 Neo4j related meetup groups with 3903 members in 28 cities over 16 countries.


Pernilla our newest member of the community team had her first public appearance and enjoyed socializing with the community. Pernlilla takes on the responsibility of supporting the world-wide meetups.

Andreas and Michael stole away from the party to move the IKEA furniture into the hotel to set up the community lounge. Unfortunately we couldn't use the shortcut for unloading and had to haul everything from the loading docks in the deep vaults. Setting up the space was much more fun and we really felt like spreading the "love from Sweden".
Michael stayed over night to set up the RFID equipment (readers and tags) for the unique conference interaction graph that we planned to create and helped Adam fight the badge printers.

Morning came quickly and so the space filled with attendees ready for registration. Over the day we enjoyed the presentations, chatting with many people (seeing some of our community members for the first time), relaxing in our community lounge and having fun.
Our friends from Heroku gracioucly lent us the "Zen-Desktop-Table" which we used to render some nice pictures. The graph visualisation didn't work out due to lack of time. We hope we can set up the table together so that it is exposed over the internet and everyone can try his luck in drawing his creations.

Andreas and Michael had fun rehearsing the stand-up "Cypher vs. SQL" presentation which finally helped Andreas to leverage a graph database to talk to the interesting blondes at the conference, using his friend connections.

Over the day attendees of the conference connected via their RFID badges, and as promised we put the dataset online. Of course in a Heroku-App with the new public Neo4j Add-On plan.




During the day we had many discussions in the community lounge and also a few presentations, like the one on Neo4j Spatial by Craig Taverner.

Evening came much too quickly too and we had to pull down our comfy space before we could join the crowds at the Sens restaurant to be part of the Graphies award ceremony and the fantastic food and of course the extremenly exciting election eve.
The rest of the week saw our presence at QCon and another, the third, meetup on Thursday.

On Friday everything would down after a busy, exciting and tiring week.

Thanks to everyone who was there and made the week such a success.

For everyone else - see you next time at a GraphConnect or at a meetup in your area, and if there is none make sure to contact us about it.


The Neo4j Community Team - Andreas, Peter, Pernilla & Michael

Friday, November 2, 2012

Neo4j on Heroku - Soon Public

A successful beta has planted the seed for Neo4j in the cloud, available as an Add-on to Heroku's superb platform. That beta will soon bear its first fruit with public availability debuting at next week's GraphConnect.

Mo Bettah Beta Users

Though humble in capacity, we have been floored by the work people have been able to create using the beta Add-on. We are grateful to every participant who worked with us and pushed the limits of the service. We are better because of you.

Beta users took advantage of the plan as a great way to try out Neo4j, easily spinning up a database to learn about getting graphy. Clearly this is a huge advantage of full service cloud offerings -- encouraging experimentation and exploration, putting fantastic tools like a graph database only a few clicks away. Reading about technology is great, but effortlessly trying it out is awesome.

An incredible number of people fell in love with graphs, experiencing moments of graph enlightenment that sparked creative demo applications and proof of concepts. We look forward to showcasing the incredible diversity of creations, underscoring our observation that graphs are everywhere.

On the horizon

What once seemed distant will soon be close at hand: next week at GraphConnect we'll be debuting the public release of the Neo4j Add-on to Heroku. Details about the plan will have to wait just a little longer.

We'd be thrilled to have you join us in San Francisco for the conference (there is still time to register). If we miss you there, stay tuned for post-release coverage.

Cheers,
Julian, Andreas and Thomas

Thursday, November 1, 2012

Neo4j Community at GraphConnect

It is only 4 days to GraphConnect San Francisco 2012 on Nov 6th and the Neo4j Community is thrilled to be part of the conference. We will have our own special Community Lounge a cosy swedish-style place to relax, chat with us and read some graph database related books. Are you looking for action? Then we welcome you to hack with us on fun projects. During the whole day we will have presentations and dicussions with Neo4j community contributors, covering a range of intriguing topics.

Monday Evening Meetup

On Monday (Nov 5th) evening we host a community event in the Thirsty Bear at 5 PM, where we want to tour some of the world-wide Neo4j related meetups and projects that community members work on. If you're in the area you are invited to come along, we take care of food and beer.

Community runs IKEA-Style

On our last visit to San Francisco we had lots of fun visiting IKEA and choosing the perfect furniture for the Community Lounge. So we hope to recreate the Swedish culture that is part of Neo4j in our community place at the conference.

Community Lounge Program

We have our own little tentative agenda for entertaining you between graphconnect sessions. So drop by in the community lounge to listen to our community contributors or engage with them in discussions.

 
Time Topic
10:00 - 10:30 Presentation: Language Drivers
10:30 - 11:20 Discussion: Neo4j from any language
11:20 - 11:40 Presentation: Graph Visualization Tools (Max De Marzi)
11:40 - 12:30 Try it out: Graph Visualization Tools
12:30 - 13:30 Lunch & Learn: You just made a graph (Andreas, Michael)
13:30 - 14:20 Hacking: RFID & ZenTable hacking
14:20 - 14:40 Demo: ZenTable Sand Graphs
14:40 - 15:30 Hacking: RFID & ZenTable hacking
15:30 - 16:00 Presentation: Neo4j Spatial - GIS as a graph (Craig Taverner)
16:00 - 16:50 Discussion / Hacking: Neo4j Spatial
16:50 - 17:05 Presentation: Doctors social graph (Fred Trotter)
17:05 - Closing down

RFID-Interaction-Graph


Much like during other conferences but especially at GraphConnect, we want to encourage everyone to connect and exchange ideas. To visualize the growing number of connections between our attendees we want to utilize active RFID-tags from OpenBeacon and record the collected interactions in a publicly accessible Neo4j graph for rendering, some interesting analytics and general hacking.

Zen-Desktop Table

We're really excited to have the Zen Desktop Sand Table around which we want to use for visualizing graphs in a zen-like manner, it is easily programmable and we're looking forward to your hacks and visualizations. We want to enable internet access for its USB port so that it is easily accessible from a javascript frontend.

Show Me Your Graph & Graphs on Paper

If you participated in the Twitter contest for interesting graphs or sent in any graphs drawn with Paper for iPad then you might find your graphs on display around the conference.

There will be more fun activities and opportunities in the Community Lounge to talk to speakers, Neo4j developers and community members, so make sure to come along - we hope to connect there!

Yours truly,

Michael Hunger, Andreas Kollegger, Pernilla Lindh and Peter Neubauer