I've been given a nearly impossible task to solve, since I'm not a UX expert nor am I able to find any examples on the internet.
I need to make it as easy as possible, for a person to find whatever "entity" he's looking for, in a very large data set. The relationship between the data is expressed as a graph, and each individual node is allowed to have their own properties, besides the base properties, based on their type.
Basically what this means is that, given their nested and dynamic nature, I cannot see how I can possibly present the data in a table, as it would mean that there would be a lot of empty columns, to cover all the various entityTypes.
Since the whole mission is about discoverability, as the user do not exactly know what (s)he's looking for but only knows it when (s)he sees it, it's important to:
be able to see as many details (properties) as possible, considering it's a large graph with e.g. 100 nodes at the top level, then each of those might have hundreds and so on.
use node properties to make abstractions, so you can drill down the data
be able to filter on each dynamic property (but filtering while remaining the context i.e. retaining the paths to the filtered nodes)
The problem I have with using a standard graph is that there's only really space for a label at most. So you need to zoom close into it and highlight each node to learn more about its properties. Since the user will need to read some of this information, he'll need to be able to quickly scan through all entities, if he hasn't got enough domain knowledge to apply a filter to the data set to limit it. That will take an awful long time to hover each node in a graph, compared to scroll down and read table columns.
The problem with tables is that it can be hard do represent hierarchies in a table, but even harder to deal with dynamic properties / table columns.
So given a large graph of entities (nested/hierarchical) where each node might have different properties, how do you best give the user an overview, present as many as the props as possible and make the data filterable by property?
Filterability is of limited use when first scanning through the data, since the user will need to look at the data to find out what he's actually looking for? In some best case scenarios he can drill down or filter on the data using one of the props (that again will vary from node to node based on entitiyType).
Perhaps the key to make this work is not using a single type of visualization, but a combination. But this is where I need your help. I'm not expecting anyone to give me the solution, but rather point me in the right direction, if anyone else have solved these problems, because nothing is popping up in my search results.