Graph databases & ECM - Neo4J meets Documentum
Yuri Simione
VP of Global Partnerships | I enjoy discussing Graph Databases and Graph Analytics with my 20K+ LinkedIn followers.
Some years ago I attended in San Francisco Graph Connect, the conference sponsored by Neo4j Inc about Graph databases and about Neo4j, one of the most popular graph database engine. Nowadays a content management repository can be implemented (better?) using a graph database. I thought how to combine the graph database power with a content management system and soon I defined requirements for a Recommendation Engine for opentext Documentum, one of the most important Enterprise Content Management system.
Years later, at the end of 2017 my company started the implementation of my idea and a collaboration with University RomaTre, Department of Engineering. The project goal is to create a knowledge graph using relationships between contents, between users and between contents and users. The knowledge graph is then used to recommend contents, subject matter experts or related search term to the users, after every search submitted on the content management system.
We already mapped users, group, permissions (aka ACL, access control list), documents, folders into the graph database. From each document then we extracted the most important keywords using a NLP tool and loaded every keyword into the graph database as a new node related to one or more documents.
At this stage, results are very interesting. For example the recommendation engine can check READ authorisation for every document before to return that to the user as a search result item: the authorisation engine is completely delegated to the graph database and implements same security checks managed by the Documentum Content Server. The beauty of a query on a well designed graph database is that document search and authorisation check are implemented in the same way, traversing the graph.
Relations between users (blue node), group (pink nodes) and Acl (grey nodes)
A subgraph with an ACL (the grey node). The ACL protects documents (red nodes). A document is contained in a folder (the green node).
The project is not yet finished, very soon new (and interesting) updates!
By the way, I am looking for Documentum customers interested to try our technology: if you are interested send me a message via Linkedin.
Experienced Enterprise Data Professional with deep Financial Markets experience | Strategy, Architecture, Governance & Implementation
5 年Seeing as the very essence of content management is semantics, ie meaning, relevance, context, classification, why not use a semantic graph instead of a plain ol’ property graph ? Better, more relevant search results via standard mechanisms (eg OWL) and further enhanced by your own.?
Product Management | Data & AI Platform, Lifescience
6 å¹´Interested and following. Let me know in case I could be of any help.
VP of Global Partnerships | I enjoy discussing Graph Databases and Graph Analytics with my 20K+ LinkedIn followers.
7 å¹´Btw, I just created a public group on Linkedin where we can discuss about graph databases. https://www.dhirubhai.net/groups/8659061
Solution Architect at Zia Consulting, Apache Member, Jazz/Blues Session Guitarist and Recording Artist
7 å¹´Very nice experiment! It seems that you have built a potential indipendent Content Targeting solution that could be extended for supporting for example any CMIS-compliant repository using Neo4j. I'm wondering if the overall performance of this solution can be improved using also something similar to ElasticSearch or Apache Solr. These search platforms have a ready to use and enterprise-class suggester engines. Consider that you if you use Elastic, it includes a complete Analytics platform that can bring some values in terms of monitoring and data analytics.