-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DAG visualized as D3 tree #1
Comments
this looks great. I can't wait! i'll try to get someone to help with ipfs/kubo#1322 sooner @harlantwood q; does it handle dags well? seems like it would show the same logical node as two different viz nodes (which is fine for exploration, getting the dag to work right would be a huge pain) |
Great question @jbenet! You're right that as of now it would show a repeated node as two viz nodes. I wonder what we would want it to look like (layout) if we deduplicated nodes... Open to exploring. The simplest route is probably to have graph shaped visualizations available as well as tree shaped; graphs of course handle this sort of thing well. Maybe there is a whole body of work on DAG visualization, sort of between tree and graph... |
+1 for two modes of viz. Which nomenclature is more natural: unixfs and ipfs view, tree and dag view, (serialized) data and object view, local and web view? |
I imagine potentially lots of visualizations types, so I imagine just calling them by their viz type: tree, graph, circle packing, treemap, etc... open to other ideas tho.
Thanks! Yup, I based the viz infrastructure on the example viewer infranstructure, and under the hood we're using the refs API like |
We're now reading the IPFS hash from the URL. To try it out, start up a permissive server:
Then
This should load up the tree viz in your browser. Change the IPFS hash at the end of the URL to see any other IPFS tree. |
@harlantwood this is awesome. let's make sure to lobby next week to have the gateway changes we need to ship this for use on the public gateways |
Sounds great |
I would love to help out changing the gateways to support this. I won't make the sprint this week, so unless anyone at the sprint really wants to do it, I can take a lead on it. |
Awesome @travisperson! |
@harlantwood btw i just tried this with the geoip root (QmQQ3BUpPjgYiTdhp4H9YWSCtoFXs8t91njhpvXNNLd3yB) and realized that because the refs are retrieved recursively, it wont work well for massive graphs. maybe it should grab the refs for each expanded node + its children, but stop there until a child is expanded. |
I've thought the same thing. Do we have any kind of API calls currently which can specify recursive, depth=1 ? |
If not, we could fetch each one. |
Incidentally, I'm working on a graph viz in http://famo.us which will address the DAG data structure much better. @jbenet what is a good example DAG hash? One that's not just tree data, but has lots of shared leaf nodes? |
@harlantwood not sure, maybe we could import the bitcoin blockchain (duplicates will be addresses), or the linux kernel source tree (probably not many duplicates) or something |
e.g. go-ipfs dependency graph, where some libs are reused. |
cc @diasdavid |
re: DAG hash - Can we use the one generated by adding all the openWrt versions? |
Closed with #5 |
Thanks all for the large DAG ideas. We will test working with these and similar in the new breed of visualizations we are making, ala #4. |
I've begun work on the tree visualization discussed in ipfs/ipfs-webui#56
Here is a screenshot of the work in progress:
The source code is here.
Remaining to do:
The text was updated successfully, but these errors were encountered: