Meet Francesco Infante, back-end engineer @ Linkurious

The Linkurious team is growing and we are glad to welcome a new member. Francesco Infante is joining us as Back-end Engineer. Welcome Francesco!

infante-portrait

Who are you?

I’m a software engineer, but that’s just the tip of the iceberg. I’ve always knew what my passion was; I’ve started at the age of 3, playing Commander Keen 4 and Wolfenstein 3D over and over, and learning MS-DOS enough to boot those games. Since then my passion never changed; while other kids were playing football, I was learning Visual Basic. My best Christmas memory was when my dad brought home my first pair of PC audio speakers! After that there was no going back :-).

Can you tell us about the products you love?

I love when a product is intuitive enough that I don’t have to learn how to use it. If I can deduce how it works by only glancing at it, it’s a good product for me. If somehow it’s too complicated to understand, it’s the designer fault. Since my expectations are high in this matter, I plan to make my work, in particular in the Linkurious back-end, as intuitive as possible within my ability; both for team-mates and for the final user.

What do you expect to learn at Linkurious?

I want to boost my analytical skills. Gladly, I work with bright people; there’s nothing worse than being the smartest in the room. I hopefully will continue facing new problems and solving them for the most part; learning from the unresolved ones too. I’m also looking into improving my communication and leading skills; and learning French of course!

Which super hero or fictional character would you be?

I would be the Doctor of course! All that knowledge of space and time in my mind… may probably be too much; but for a chance to see what the universe hides, I would bear the burden :-).

What is one thing few people know about you?

I like to pick locks as a hobby; still an enthusiast, though.

What is your favourite music piece at the moment?

Linkurious v1.4: streamline pattern detection with the Cypher-powered alert dashboard

The new major release of our graph visualization software Linkurious is now available! It provides a unique alert dashboard for teams of analysts, continuous indexing capabilities to Neo4j, support for AllegroGraph, and single sign-on (SSO) with Azure Active Directory. Linkurious v1.4.2 is available in two flavors: Starter and Enterprise. Releases always apply to both variants.

New features

Cypher-powered Alert Dashboard (Enterprise only)

From anti-money laundering and insurance fraud detection to cyber-security, companies must identify threats in connected data. The Neo4j graph database is perfectly suited to run complex queries and to extract patterns of suspicious or abnormal activity with the Cypher query language. Linkurious 1.4 provides a solution to streamline threat detection with its Alert Dashboard. Teams of analysts can now combine the power of graph-based analytics with human intelligence to detect and confirm alerts collaboratively.

Example of alert categorization and audit trail.

Alert categorization example.

It works as follows:

  1. Administrators create alerts with the Cypher query language.
  2. Alerts are generated at a given frequency.
  3. A team of analysts review the alerts to confirm or dismiss them. Analysts can sort alerts based on their importance, for instance money or risk involved. They can see who is working on alerts to synchronize with each other, and they can get the audit trail of alerts.

Learn more on the user manual and admin manual.

Example of an user alert dashboard

Introducing the user alert dashboard.

Notice that it is also possible to use the Alert Dashboard with an external pattern detection system instead of a graph database. All features can be easily integrated into third-party systems thanks to our REST API.

allegrograph-logo

Connector to AllegroGraph

AllegroGraph is industry leader of semantic database systems. We have teamed up with Franz, Inc to support AllegroGraph in Linkurious. Linkurious is now a web-based alternative for Gruff users to explore their semantic databases. They can benefit from all features of Linkurious, including data editing, text configuration, and raw SPARQL queries. Contact us to evaluate it!

Screenshot of Linkurious with DBpedia on Franz AllegroGraph

Neo4j continuous indexing

Linkurious will integrate seamlessly with Neo4j graph databases of unlimited size with the continuous indexing system. It is now possible to synchronize Neo4j 3.0.4+ databases with the Elasticsearch index automatically, without blocking users. We have contributed to neo4j-to-elasticsearch, the open source Neo4j plugin initially created by our friends at GraphAware. Kudos to them! Notice that we currently required an initial indexing phase to bootstrap Linkurious.

Single Sign-On with Azure Active Directory (Enterprise only)

You can configure Linkurious for a seamless authentication experience and secure access management with Azure Active Directory.

Linkurious login page with Azure AD

Noteworthy improvements

Support of Elasticsearch 2

Linkurious 1.4 is compatible with Elasticsearch 2.x. We continue to ship Linkurious with Elasticsearch 1.4.5 until considered totally safe to make the switch. You can now configure Linkurious to use more recent versions if you need to.

Security improvements (Enterprise only)

  • Users linked to an LDAP account can be removed.
  • Allow only users who belong to a configurable list of LDAP groups.
  • Assign a configurable user group for LDAP users the first time they connect to Linkurious.
  • Neo4j credentials can be read from environment variables instead of being stored in the configuration file of Linkurious.
  • Read-only mode can be independently enabled for each datasource.

Other improvements

  • Administrators can reset styles of newly created visualizations of all users from the Data administration panel.
  • You can create a widget from a visualization ID.
  • You can apply a force-directed layout computed on the server when creating a new visualization.
  • You can disable indexation of edges.
  • The “shortestPath” feature in Cypher queries is now allowed.
  • Node and edge count are more robust in DataStax Enterprise Graph.
  • Retry on error in DataStax Enterprise Graph indexation.
  • Fix truncated widget content when MySQL is used as internal data store.

What’s next?

The next release will integrate DataStax Enterprise and AllegroGraph full-text search engines for increased performance. Elasticsearch will become optional. We will also support more authentication providers based on your requests.

Try now

Try this new release on our online demo. We have just updated it! Contact us for any question, or send an email to support@linkurio.us for help.

Existing customers can download the new release from their account now.

Integrating graph visualization in Oracle BI with Linkurious

Our partner Peak Indicators explains how to integrate graph visualization powered by Linkurious in Oracle Business Intelligence (Oracle BI).

Linkurious + Oracle BI

Oracle BI provides powerful, visually appealing analytics. It helps people explore new insights and make faster, more informed business decisions. Like other business intelligence, Oracle BI is particularly suited for the analysis of tabular data via histograms, bar charts, pie charts and other such analytical visualisations:

oracle bi dashboard

An Oracle BI dashboard.

Peak Indicators has worked on extending Oracle BI by integrating it with Linkurious to deliver new embedded graph visualisations.

Why Graph Visualisation?

Whilst BI tools are typically designed for analytical reporting (trends, patterns, comparisons etc), graph tools are specially designed to visualise the connections and relationships that exist within your data (the visualisations are made up of “nodes” and “edges”).

The combination of BI and graph technologies offers a great way to view any aggregated data and the underlying connections it contains at the same time, with the additional capability to explore and discover all the links between the various data entities.

The combination of both helps generate new insights as we will see in an example.

Example: analysis of compliance issues

Imagine a financial services company which is analysing training feedback for some of its mandatory training. Good training results mean better compliance and less risks for the company.

Analysing training courses evaluation and compliance issues.

Analysing training course evaluation and compliance issues.

In the above scenario, Oracle BI is presenting the user with summarised trends of information with conditional formatting to highlight certain data exceptions. Here we can see an overview of how the training programs are performing.  There are 3 issues being highlighted:

  • Tony Cameron, a trainer, has received poor ratings
  • The Compliance training course has received poor ratings
  • There was a surge of compliance issues in March 2016

The first two issues are related to training delivery, whereas the compliance issues are related to business performance.   Are there any relationships between these seemingly separate issues that Oracle BI has highlighted?    Can we actually prove that poor training delivery can result in poor performance within the business?

This is where the Linkurious graph visualisations come in to play since we need to understand how all the various data entities are related to each other.   For example, in this instance the graph visualisation is showing the connections between:

  • the trainer (green)
  • the training delivery (purple)
  • the training attendees (brown)
  • the attendee’s resulting compliance issues (blue)
The connections between Cameron his students and the compliance issues.

The connections between Cameron his students and the compliance issues.

So we can see that the trainer Tony Cameron, who received poor feedback ratings, is related to 8 compliance issues within the business.

Here is a screenshot of how it actually looks when embedded within Oracle BI:

Linkurious embedded in Oracle BI adds graph insights.

Linkurious embedded in Oracle BI adds graph insights.

The analysis gets even more interesting when we add another trainer, Geoff Fraser, on to the visualisation.  Geoff has received much better ratings and we can see immediately that he is related to only 1 compliance issue in the business whereas Tony Cameron is related to 8!

linkurious oracle bi integration detail

So by using Linkurious we can deduce that improving the quality of our trainers could have a very real and positive impact on reducing the number of compliance issues!

Peak Indicators was able to quickly integrate graph visualization capabilities into Oracle Power BI using the Linkurious REST API,

Linkurious makes it easy to understand complex connections, allowing businesses to make smarter decisions. With its REST API you can add new capabilities to existing solutions like Oracle BI. Want to learn more? Contact us.

Linkurious sponsors GraphConnect 2016

Linkurious is proud to sponsor GraphConnect 2016, taking place on October 13th-14th in San Francisco. Join us to discover how graphs are changing the world and how Linkurious can help you find hidden insights in your data.

gc-sf2016-globe

This year, you will hear sessions from some Linkurious’ clients:

  • Mar Cabra from the International Consortium of Investigative Journalists (ICIJ) will talk about the Panama Papers and the role Linkurious and Neo4j played in this year’s biggest financial crime story.
  • David Meza from NASA will talk about the value of a graph approach in knowledge management.

Other speakers will include Andres Natanel Soria from Cablevision, Clark Richey from FactGem or Doug Balog from IBM.

In addition to sponsoring the event, the Linkurious team will also be on location. Come visit us to discover the next version of Linkurious Enterprise, talk about your use case and meet other companies interested in finding hidden insights in their graph data.

GraphConnect is the only conference that focuses on the rapidly growing world of graph technologies and features Neo4j, the world’s leading graph database. GraphConnect brings people from all around the world. Software architects, developers, data scientists or CIOs: all share a common interest in graph technologies. That interest is easy to understand as some of the most innovative companies are now using graphs to power new products and services.

Register now to attend the conference: link

Manage software dependencies with graph visualization

Discover how Pathfinder helps developers analyse software dependencies using the linkurious.js open-source JS graph visualization library. In this article Michele Sacchetti, Head of Configuration Management and DevOps team at Facilitylive, explains why he built Pathfinder and chose linkurious.js.

Introducing Pathfinder

Almost every software program has third parties dependencies. As a software project grows with new features, software dependencies grow as well. And with dependencies, the project becomes more complex to manage. Some companies like Facilitylive manage multiple software projects. Here, the code may be split in several modules across different teams, which are sometimes geographically distributed. This makes “legacy” software dependencies and their size an even more serious problem.

For these reasons, developers introducing new software dependencies should always check if they will conflict with existing ones or if a former version of the same library is already in use. Change Request over core legacy code must be deeply analysed to know all the pieces of code impacted by such change. Some teams adopt lifecycle tools like Maven to provide partial control on dependency management, but they lack the overall view on the whole project ecosystem.

Pathfinder helps developers and release managers (or any other role in a DevOps-oriented team) address these kinds of issues in a quick and intuitive way.

Pathfinder integrates in a company Continuous Integration (CI) chain and collects all dependency information at each build, aggregating them in a global view.

The graph of the current develop branch of the Pathfinder project, you can notice the different node colors, each one representing a different dependency of the project.

The graph of the current develop branch of the Pathfinder project. Notice the different node colors, each one representing a different dependency of the project.

Pathfinder is organised into three elements for a flexible integration over different CI architecture:

  • A Client, actually in the form of a Maven plugin, collects build data and send it forward to the central server
  • A Server, which gather all informations from several clients/builds and aggregates them. Due to its relations-oriented data structure data is stored into an embedded Neo4J server. It provides the performances needed to store an high number of nodes/relations. Communication flow between client-server and server-web interface is exposed via a JSON REST API. All basic actions to manipulate or show graph details can be managed using simple http calls.
  • A User interface, in the form of a standalone JavaScript application, which provide end users with an intuitive relational graph with all dependencies information. All graph functionalities are rendered via the linkurious.js graph visualization library which allows a quick and flexible data manipulation.

Clients and server usually work in the background, connected to the CI chain and collecting information and expanding dependency analysis coverage. The user interface provides end-users with tools to analyse the data.

Graph visualization makes dependencies easier to understand

Many developers work on a few projects at once and are not aware of all other teams’ work. To have a full picture of all software dependencies, they should analyze all projects’ candidates which have direct or indirect relations with their work and note down each dependency which may cause conflicts. It is not trivial for a single project but it may become almost impossible to accomplish, and even harder to maintain, over all available dependencies.

Integrating Pathfinder analysis in the CI chain ensure all projects dependencies are gathered and sent to the server to be processed and updated, while the graph visualization interface provides an immediate feedback on many-to-many relations across all possible dependencies.

Moreover agile developers may create additional development branches over the code to isolate their works or to experiment new ideas. This approach gives birth to “branch-packages” containing such experimental code which should be tracked carefully since not production-ready.

In one glance Pathfinder provides useful informations about your project’s dependencies. Nodes color allow users to distinguish types of software dependencies and their status. They can focus their attention on areas which are under development or comes from separate development branches:

  • RED artifacts are the SNAPSHOT packages, the ones which need the most care, if you are a developer or a configuration manager. Keeping them under control and being sure your release package doesn’t contain any of them is crucial.
  • YELLOW artifacts are the BRANCH packages, which means any stable artifact which doesn’t respect the standard regular expression of Maven versions. They still need some care to make sure they are stable code and not some Release Candidate or even worst, feature branches.
  • BLUE artifact are well-know standard release code, you can usually trust them.

The Pathfinder interface built with linkurious.js makes it easier to accomplish tasks like graph filtering, impact analysis or dependency analysis.

Graph filtering

Large software projects may contain hundred of dependencies making analysis harder. That’s why Pathfinder provides a filtering interface which allow users to filter nodes based on their Maven attributes.

Pathfinder project analysis, but with a filter which hides all dependencies of inner nodes.

Analysis of the Pathfinder project with a filter which hides all the core node’s dependencies.

Both inner and outer nodes can be filtered separately to achieve the best granularity for your analysis.

Pathfinder project analysis, this time excluding all third party dependencies to show just it’s own artifacts.

Pathfinder project analysis, this time excluding all third party dependencies to show only Pathfinder’s own artifacts.

Impact analysis

If your software ecosystem is large enough, you will struggle to evaluate the impact a code modification may have over other teams’ code. Changing a method behavior, even in an apparently insignificant way, can wreak havoc on your company if you are not 100% sure about which other project are invoking such method and why. Just imagine adding a couple of log lines to increase execution feedback, just to discover (usually too late) that your method is used in several time-critical applications where the few milliseconds of delay introduced by printing logs are causing deadlines to be missed. Pathfinder impact analysis helps you answer such question: given the Maven attribute of the artifact you are modifying, it will output the graph of all other artifacts which have a relation with it within a customizable number of “hops”.

Impact analysis showing all nodes with a relation with the “pathfinder-rest-client” artifact.

Impact analysis showing all nodes with a relation with the “pathfinder-rest-client” artifact.

Software dependencies analysis

In medium/large project different developers will likely re-use the same libraries for similar purposes in different projects. But, since they will probably do so at different times, you can be pretty sure they will include different versions of the same artifact.

Pathfinder can analyze the whole dependency graph of your projects and provide you with a detailed report of duplicated inclusions with version mismatch. The same report can also be converted into Maven dependency management syntax for better centralized inheritance.

Dependencies analysis highlighting some duplicated dependencies with different versions.

Dependencies analysis highlighting some duplicated dependencies with different versions.

Pathfinder and linkurious.js

Pathfinder adopted the linkurious.js JavaScript graph visualization library as its UI rendering engine from the very first release. As stated above, Neo4j was a natural choice as a backend service to store the data model but even if it also provided an amazing graph browser interface, it was immediately clear that a more fine tuned and customisable graph rendering engine was mandatory to create a rich user experience.

The first version of the Pathfinder graph was directly connected to the Neo4j REST API via native linkurious.js methods. This gave me the possibility to concentrate immediately on the look and feel and usability I had in mind with no additional effort in writing dedicated method.

Then, once the project got its own API implemented, it was really easy to connect them to the already existing UI simply shifting to custom jQuery Ajax call.

Being more of a backend java developer, linkurious.js provided me with the perfect balance of abstraction and customisation flexibility to implement the pathfinder UI in a quick and effective way, keeping also an eye on rendering performances.

Pathfinder is one of the open-source and commercial projects which integrates linkurious.js. Are you trying to help your users understand graph data? Use linkurious.js to quickly build a custom interactive graph visualization interface.

Linkurious v1.3.6: DataStax Graph 5.0 (final), UI improvements

The new minor release of our graph visualization software Linkurious is now available! It provides the final version of the connector to DataStax Enterprise Graph 5.0, improves the user interface based on user feedback, and fix multiple bugs. Linkurious v1.3.6 is available in two flavors: Starter and Enterprise. Releases always apply to both variants.

New features

datastax-logo

Datastax Enterprise Graph connector leaves BETA

Linkurious is now compatible with the stable release of Datastax Enterprise Graph. See a live demo here. Linkurious connects to it through the Gremlin server. More info here.

This is a sample configuration of Linkurious to connect to DataStax Enterprise Graph 5.0 (DSE) through a Gremlin server.

"dataSources": [
  {
    "name": "My DSE DB",
    "graphdb": {
      "vendor": "dse",
      "url": "ws://192.168.0.45:8282", // URL of the gremlin server to connect to
      "graphName": "mygraph", // name of the graph to connect to
      "create": false // whether to create graphName if it does not exist
    },
    "index": {
      "vendor": "elasticSearch",
      "host": "127.0.0.1",
      "port": 9201,
      "forceReindex": false,
      "dynamicMapping": false
    }
  }
]

incremental-layout

Noteworthy improvements

Incremental layout at expand

Users can enable the “incremental expand” mode for layouts. Existing nodes will hold their positions while the neighbors are added to the visualization. Use it to create hand-made layouts safely.

Letters and numbers as node icons

text-icon
The Design panel of the Workspace now provides the ability to display numbers and latin letters inside nodes.

Select shortest path extremities from the database

path-autocomplete
We have improved the shortest path interface with the ability to select nodes from the database directly using the search autocomplete feature.

Welcome-in-Arabic-Script-300x145

Optimized multilingual search

Integrators can configure Linkurious to use a custom ElasticSearch analyzers (list here). It will enhance search results on a specific language. Try it on Arabic!

Other improvements

  • Add “Create new visualization” in Workspace menu.
  • Rename “Duplicate to Workspace” to “Save As …” in Workspace menu.
  • “Back to dashboard” from Workspace goes to current visualization’s folder.
  • Add “Hide unselected items” in Workspace menu.
  • Add a configuration option to disable new LDAP user creation.
  • URI detection: support schemes such as “notes://”.

What’s next?

We are very excited by the next release as it will bring major new features. Teams of analysts will benefit from the ability to automatically identify graph patterns via a new alert dashboard. Linkurious will integrate seamlessly with graph databases of unlimited size with the continuous indexing system. We expand the reach of our graph platform with the support of the industry-acclaimed semantic database Franz AllegroGraph, soon following a generic SPARQL connector. We will also provide finer authentication control with LDAP groups, and server-side creation of visualization widgets through the REST API.

Try now

Try this new release on our online demo. We have just updated it! Contact us for any question, or send an email to support@linkurio.us for help.

Existing customers can download the new release from their account now.