SlideShare a Scribd company logo
Erlang
                 Built for concurrent, distributed systems



                July 27, 2011


                Ken Pratt
                http://kenpratt.net/

Wednesday, July 27, 2011
The philosophy

                              "Erlang was designed for writing
                           concurrent programs that "run forever""
                                      - Joe Armstrong




Wednesday, July 27, 2011
The philosophy

               Simple language
               Ultra-lightweight concurrency
               No shared state
               Local & remote communication via messaging




Wednesday, July 27, 2011
The language

               Functional
               Pattern matching
               No variables! (well, they don’t vary, anyway)
               Compiled to bytecode, runs on VM




Wednesday, July 27, 2011
The VM

               Processes
               Pre-emptive scheduler
               Memory manager
               Mesh networking




Wednesday, July 27, 2011
Erlang == distributed OS?

               Erlang is not so much a programming language as it is
               a distributed Operating System.
               It’s like an ant colony with thousands of ants performing
               all sorts of different tasks.
               Erlang is to threads what garbage collection is to
               manual memory management -- it brings concurrent
               programming into the 21st century.



Wednesday, July 27, 2011
Local architecture




                           = light-weight process with a built-in mailbox
Wednesday, July 27, 2011
Distributed architecture




                           = light-weight process with a built-in mailbox
Wednesday, July 27, 2011
Interesting architectures

               Having thousands of lightweight “threads” really opens
               up the architecture options.
               The main example application on the “Erlang and OTP
               in Action” book is a cache using one process per
               cache entry!




Wednesday, July 27, 2011
Standard library


               Common patterns do all the concurrency heavy lifting
               for you (gen_server, rpc)
               Supervision trees
               Hot code deployment




Wednesday, July 27, 2011
In production

            Chat backend    SimpleDB   Orchestration of
                                        Ruby services



            Routing mesh,
           logging system




Wednesday, July 27, 2011
Erlang + Neo4j


               Erlang has graphs: http://www.erlang.org/doc/man/
               digraph.html
               BUT, it’s no Graph DB




Wednesday, July 27, 2011
Erlang + Neo4j

               Nerlo: http://github.com/nerlo/nerlo (Jinterface-based)
               Cali: http://github.com/dmitriid/cali (Jinterface-based)
               Both look pretty dead-in-the-water (no commits on
               either project in ~1 yr)
               BUT, Jinterface works well, so does Mule ESB. So in
               the worst case you could write your Neo4j adapters in
               the JVM and bridge to Erlang with a biz-logic-level API.



Wednesday, July 27, 2011
Resources




Wednesday, July 27, 2011

More Related Content

Viewers also liked

Kata experience experimentation form to print on a3
Kata experience experimentation form to print on a3Kata experience experimentation form to print on a3
Kata experience experimentation form to print on a3
Håkan Forss
 
Enterprise Services Planning - Scaling the Benefits of Kanban
Enterprise Services Planning - Scaling the Benefits of KanbanEnterprise Services Planning - Scaling the Benefits of Kanban
Enterprise Services Planning - Scaling the Benefits of Kanban
David Anderson
 
Toyota Kata - habits for continous learning. Shingo Institue European Confere...
Toyota Kata - habits for continous learning. Shingo Institue European Confere...Toyota Kata - habits for continous learning. Shingo Institue European Confere...
Toyota Kata - habits for continous learning. Shingo Institue European Confere...
Håkan Forss
 
Getting to pull at enterprise scale
Getting to pull at enterprise scaleGetting to pull at enterprise scale
Getting to pull at enterprise scale
David Anderson
 
Introduction to monte-carlo analysis for software development - Troy Magennis...
Introduction to monte-carlo analysis for software development - Troy Magennis...Introduction to monte-carlo analysis for software development - Troy Magennis...
Introduction to monte-carlo analysis for software development - Troy Magennis...
Troy Magennis
 
DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...
DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...
DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...
Gene Kim
 

Viewers also liked (6)

Kata experience experimentation form to print on a3
Kata experience experimentation form to print on a3Kata experience experimentation form to print on a3
Kata experience experimentation form to print on a3
 
Enterprise Services Planning - Scaling the Benefits of Kanban
Enterprise Services Planning - Scaling the Benefits of KanbanEnterprise Services Planning - Scaling the Benefits of Kanban
Enterprise Services Planning - Scaling the Benefits of Kanban
 
Toyota Kata - habits for continous learning. Shingo Institue European Confere...
Toyota Kata - habits for continous learning. Shingo Institue European Confere...Toyota Kata - habits for continous learning. Shingo Institue European Confere...
Toyota Kata - habits for continous learning. Shingo Institue European Confere...
 
Getting to pull at enterprise scale
Getting to pull at enterprise scaleGetting to pull at enterprise scale
Getting to pull at enterprise scale
 
Introduction to monte-carlo analysis for software development - Troy Magennis...
Introduction to monte-carlo analysis for software development - Troy Magennis...Introduction to monte-carlo analysis for software development - Troy Magennis...
Introduction to monte-carlo analysis for software development - Troy Magennis...
 
DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...
DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...
DOES15 - Troy Magennis and Julia Wester - Metrics and Modeling – Helping Team...
 

Similar to Erlang: Bult for concurrent, distributed systems

3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time 3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time
Pascal Rettig
 
EFL (Tizen Native Display Layer – Architecture & Usage) - Carsten Haitzler
EFL (Tizen Native Display Layer – Architecture & Usage)  - Carsten HaitzlerEFL (Tizen Native Display Layer – Architecture & Usage)  - Carsten Haitzler
EFL (Tizen Native Display Layer – Architecture & Usage) - Carsten Haitzler
Ryo Jin
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywoodehuard
 
Actors, Fault tolerance and OTP
Actors, Fault tolerance and OTPActors, Fault tolerance and OTP
Actors, Fault tolerance and OTP
Dhananjay Nene
 
JavaScript Landscape
JavaScript LandscapeJavaScript Landscape
JavaScript Landscape
Janne Kuuskeri
 
Groke
GrokeGroke
1 Unix basics. Part 1
1 Unix basics. Part 11 Unix basics. Part 1
1 Unix basics. Part 1
Roman Prykhodchenko
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5
Tim Wright
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSCaridy Patino
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
tdc-globalcode
 
Erlang sem enrolação
Erlang sem enrolaçãoErlang sem enrolação
Erlang sem enrolação
Felipe Mamud
 
The Fast, The Slow and the Lazy
The Fast, The Slow and the LazyThe Fast, The Slow and the Lazy
The Fast, The Slow and the Lazy
Maurício Linhares
 
Anarchist guide to titanium ui
Anarchist guide to titanium uiAnarchist guide to titanium ui
Anarchist guide to titanium ui
Vincent Baskerville
 
Community Code: The TouchForums App
Community Code: The TouchForums AppCommunity Code: The TouchForums App
Community Code: The TouchForums App
Sencha
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
dieterdm
 
Entity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks ComparedEntity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks Compared
Zoltan Iszlai
 
clrh56
clrh56clrh56
Erlang, an overview
Erlang, an overviewErlang, an overview
Erlang, an overview
Patrick Huesler
 
RunDeck
RunDeckRunDeck
RunDeck
Bruno Bonfils
 

Similar to Erlang: Bult for concurrent, distributed systems (20)

3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time 3D in the Browser via WebGL: It's Go Time
3D in the Browser via WebGL: It's Go Time
 
EFL (Tizen Native Display Layer – Architecture & Usage) - Carsten Haitzler
EFL (Tizen Native Display Layer – Architecture & Usage)  - Carsten HaitzlerEFL (Tizen Native Display Layer – Architecture & Usage)  - Carsten Haitzler
EFL (Tizen Native Display Layer – Architecture & Usage) - Carsten Haitzler
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
 
Actors, Fault tolerance and OTP
Actors, Fault tolerance and OTPActors, Fault tolerance and OTP
Actors, Fault tolerance and OTP
 
JavaScript Landscape
JavaScript LandscapeJavaScript Landscape
JavaScript Landscape
 
Groke
GrokeGroke
Groke
 
1 Unix basics. Part 1
1 Unix basics. Part 11 Unix basics. Part 1
1 Unix basics. Part 1
 
A Look at the Future of HTML5
A Look at the Future of HTML5A Look at the Future of HTML5
A Look at the Future of HTML5
 
Caridy patino - node-js
Caridy patino - node-jsCaridy patino - node-js
Caridy patino - node-js
 
Conquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JSConquistando el Servidor con Node.JS
Conquistando el Servidor con Node.JS
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
Erlang sem enrolação
Erlang sem enrolaçãoErlang sem enrolação
Erlang sem enrolação
 
The Fast, The Slow and the Lazy
The Fast, The Slow and the LazyThe Fast, The Slow and the Lazy
The Fast, The Slow and the Lazy
 
Anarchist guide to titanium ui
Anarchist guide to titanium uiAnarchist guide to titanium ui
Anarchist guide to titanium ui
 
Community Code: The TouchForums App
Community Code: The TouchForums AppCommunity Code: The TouchForums App
Community Code: The TouchForums App
 
DevOps Introduction @Cegeka
DevOps Introduction @CegekaDevOps Introduction @Cegeka
DevOps Introduction @Cegeka
 
Entity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks ComparedEntity and NHibernate ORM Frameworks Compared
Entity and NHibernate ORM Frameworks Compared
 
clrh56
clrh56clrh56
clrh56
 
Erlang, an overview
Erlang, an overviewErlang, an overview
Erlang, an overview
 
RunDeck
RunDeckRunDeck
RunDeck
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Erlang: Bult for concurrent, distributed systems

  • 1. Erlang Built for concurrent, distributed systems July 27, 2011 Ken Pratt http://kenpratt.net/ Wednesday, July 27, 2011
  • 2. The philosophy "Erlang was designed for writing concurrent programs that "run forever"" - Joe Armstrong Wednesday, July 27, 2011
  • 3. The philosophy Simple language Ultra-lightweight concurrency No shared state Local & remote communication via messaging Wednesday, July 27, 2011
  • 4. The language Functional Pattern matching No variables! (well, they don’t vary, anyway) Compiled to bytecode, runs on VM Wednesday, July 27, 2011
  • 5. The VM Processes Pre-emptive scheduler Memory manager Mesh networking Wednesday, July 27, 2011
  • 6. Erlang == distributed OS? Erlang is not so much a programming language as it is a distributed Operating System. It’s like an ant colony with thousands of ants performing all sorts of different tasks. Erlang is to threads what garbage collection is to manual memory management -- it brings concurrent programming into the 21st century. Wednesday, July 27, 2011
  • 7. Local architecture = light-weight process with a built-in mailbox Wednesday, July 27, 2011
  • 8. Distributed architecture = light-weight process with a built-in mailbox Wednesday, July 27, 2011
  • 9. Interesting architectures Having thousands of lightweight “threads” really opens up the architecture options. The main example application on the “Erlang and OTP in Action” book is a cache using one process per cache entry! Wednesday, July 27, 2011
  • 10. Standard library Common patterns do all the concurrency heavy lifting for you (gen_server, rpc) Supervision trees Hot code deployment Wednesday, July 27, 2011
  • 11. In production Chat backend SimpleDB Orchestration of Ruby services Routing mesh, logging system Wednesday, July 27, 2011
  • 12. Erlang + Neo4j Erlang has graphs: http://www.erlang.org/doc/man/ digraph.html BUT, it’s no Graph DB Wednesday, July 27, 2011
  • 13. Erlang + Neo4j Nerlo: http://github.com/nerlo/nerlo (Jinterface-based) Cali: http://github.com/dmitriid/cali (Jinterface-based) Both look pretty dead-in-the-water (no commits on either project in ~1 yr) BUT, Jinterface works well, so does Mule ESB. So in the worst case you could write your Neo4j adapters in the JVM and bridge to Erlang with a biz-logic-level API. Wednesday, July 27, 2011