Christian Morgner
18. March 2014
Neo4j, Structr,

Automatic property-based schema and inheritance detection in Structr

A little more than two weeks have passed since we introduced the GraphGist importer as our contribution to the Neo4j Graph Gist Challenge. You can read all about that in Axel's previous blog post which you can find here.We received a lot of positive feedback, and many people have since experimented with the new feature, including ourselves of course. But, one thing that was noted by many people who tried to import their existing domain models into Structr, was the lack of type inheritance.So,…

Read more

Axel Morgner
28. February 2014
Neo4j, Structr,

The Structr GraphGist Importer

tl;dr: Our contribution to Neo4j's GraphGist winter challenge: A tool to import and parse a GraphGist and create a schema meta graph for self-describing Neo4j databases in Structr.Here's the full story:Neo4j's GraphGist ChallengeWhen the Neo4j team announced their recent GraphGist challenge we asked ourselves "what can we contribute?". As very committed, long-term Neo4j community members, we really wanted to add something cool and non-trivial.In the beginning, we had no real idea what to do.…

Read more

Axel Morgner
10. December 2013

Neo4j Write Throughput on Linux ext4 Filesystems

Do you experience poor write performance with Neo4j on your Linux box, especially when it comes to small transactions?I did, and after some investigations, I could increase write performance by a factor of 15-17x.To find out what caused the poor performance I created a test which basically measures the creation of a node, a relationship and some properties.The system is a standard PC, Core i7 2.93 GHz, 8 GB RAM, Linux kernel 3.8, ext4 filesystem on two partitions, HDDs are ST31500341AS (Seagate…

Read more

Axel Morgner
22. November 2013
Structr, CMS,

Some Benchmarks

Recently, we made some changes in the backend. See this forum post for more details:https://groups.google.com/forum/#!topic/structr/CHQx5e7vTVgEarly BenchmarksIn order to detect possible impacts on performance before release 1.0, we did some benchmarking, and here are the results:As you can see, the current stable release 0.8.2 is pretty fast. We used the Bootstrap Jumbotron Template for our tests, no caching enabled.Speed DropWith the latest backend changes applied, speed dropped by almost…

Read more

Axel Morgner
16. November 2013

Release 0.8.2

We're happy to announce the new release 0.8.2 of Structr! Perhaps it should have been better labeled 0.9, as we included some new features, and it's built on Neo4j 1.9.5.But until 1.0, it's difficult to find the right version semantics. Starting with 1.0 which will be out this year, we'll use semantic version (http://semver.org/).Available on Maven CentralGood news for anyone using Structr components in an own project: For the first time, all artifacts are available on maven central:…

Read more

Axel Morgner
08. October 2013
Conference,

GraphConnect San Francisco

Back at home, Christian and I are full of energy, still impressed by all those positive impressions that hit us at GraphConnect 2013 in San Francisco. Time to write down some observations and thoughts.GraphConnect ConferenceNot only has GraphConnect evolved from being a (quite big) satellite of the QCon San Francisco in 2012 to a 400+ attendees standalone conference, it has become a relevant tech event in the silicon valley and beyond.And despite from being a well-organized conference,…

Read more

Axel Morgner
23. September 2013
Programming,

Jerry vs. Jsoup

Tonight, I added a new feature to Structr to enable content syndication. You can now fetch content from any URL and integrate it into Structr pages, anywhere (even as part of any html attribute).Not very innovative at first sight, but it's of course important for a CMS, enabling real content syndication.But that's not the point of this blog post. Technically, for content syndication you need to make an HTTP request to a remote URL, get the content and either display it unfiltered, or decide…

Read more

Axel Morgner
17. September 2013
Structr, Announcement,

Release 0.8 is out!

Yesterday, we released Structr 0.8. It was a really important milestone on the way to 1.0.Why so important?Because it contains a lot of improvements to the UI, and the UI is important for broad adoption. For example, we introduced "Widgets".WidgetsWidgets are elements that are common to typical web sites, like f.e. a table, a button, or an area containing recurring elements.In Structr, anything - from a single node up to a comprehensive, interactive page - can be a Widget, and it can be easily…

Read more

Axel Morgner
22. August 2012
CMS, Cypher, Neo4j,

Axel Morgner
28. July 2012
Neo4j, Spatial,

Distance Queries with Neo4j Spatial

One great feature of Neo4j spatial is that it provides an implementation of the generic Index interface. That makes it quite easy to add f.e. a distance search to your project:SetupAdd neo4j-spatial dependency to your project's pom.xml. (For details see https://github.com/neo4j/spatial) <dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j-spatial</artifactId> <version>0.9-SNAPSHOT</version> </dependency> Properties for…

Read more