What's Associativy?

The aim of the Associativy project is to create a general-purpose, open web platform that can serve as a base for building knowledge bases that are organized through associative connections. In Associativy knowledge is represented as a graph, as a network of knowledge items, where the nodes are pieces of knowledge and the edges between them mean an associative connection in the human sense. The project's ultimate goal is to provide a system that can store knowledge similarly structured to how our mind works and what can be "asked" to "think" about associations.

Notions demo graph

As viewed through Associativy's built-in frontend engines:

Check out this blog's graph generated by using tags

News from Associativy

  • Associativy.com updated with the latest source code

    Tags: associativy.com, update, JIT frontend engine

    Recently there were some important updates to the Associativy modules and now these changes are deployed to Associativy.com. Among others in-memory graphs are now stored in the cache, the JIT frontend engine got a bit better (check it out e.g. on the tag graph of Associativy.com blog posts) and code quality much higher (not to mention Neo4j support, but it's not used on Associativy.com yet).

    You can always follow source code changes on the Associativy project site. more

  • Associativy now has Neo4j support!

    Tags: Neo4j, graph database, storage, update

    As previously announced, Associativy now gets support for the Neo4j graph database! Neo4j is a real graph database, especially suited for applications like Associativy. If you're using Neo4j as the underlying storage for Associativy graphs, you can count on better performance and scalability if a graph is enormously huge.

    The new Associativy Neo4j driver at the current stage only has an implementation for IConnectionManager, but not yet for IPathFinder. This means that a graph can fully be … more

  • Neo4j support on its way!

    Tags: Neo4j, graph database, storage, update

    Thanks to the excellent Neo4jClient library Associativy will soon support a real graph database, Neo4j! This will potentially mean the ability to have enormously big graphs and very complex, custom lookups. To make Associativy play along with Neo4j is a challenging task, but count on me! more

  • Graphs now stored in cache

    Tags: storage, caching, update

    As mentioned earlier, for performance reasons Associativy loads the whole graph (persisted in the SQL DB) into memory upon the first request to access the specific graph (it's also possible to have purely in-memory graphs BTW!). Formerly this was done by storing the graph in an ISingletonDependency, meaning in an object that lived in an Orchard tenant for the whole life time of the shell. This worked, but wasn't particularly nice and absolutely not scalable.

    With the new implementation, the … more

  • Graph databases in Orchard

    Tags: graph database, Orchard, Neo4j

    I've recently opened a discussion on the Orchard boards about graph databases. A proper graph database under Associativy could greatly enhance its performance and scalability. Associativy now actually stores the graph in an SQL table, however for quick traversal it also loads it into memory. This is fine, but most likely won't work consistently in a multi-node environment like a web farm and can lead to performance problems with very large graphs.

    Share your ideas in the discussion! Not only … more

  • Web services coming to Associativy

    Tags: Orchard, Web API, web services, news, update

    Knowledge is best when it's shared. For Associativy this means that there should be an API that developers can leverage to access knowledge graphs.

    The 1.6 release of Orchard will bring many new features, among others Web API integration. Web API is a great tool for building public APIs that are exposed as RESTful web services, and Associativy will soon be equipped with Web API endpoints. This way you'll be able to access your Associativy graphs through a wide variety of clients, including … more