I aim to "translate" GTFS files (non realtime) into directed graphs. Is there any API / tool that can do that easily ? I would like to create a graph per route in my GTFS, and then store it into a file.
So far I made a few tests using Python and pygtfs, or R and gtfsr, but none seems to be able to make that conversion.
You can try peartree. Their websites says: "peartree is a library for converting GTFS feed schedules into a representative directed network graph."
Related
I'm not a web developer, so please bear me.
https://www.etoro.com/people/hyjbrighter/chart
I know that there are several libraries to plot graph in Javascript but how can I check if a specific page is using highchart or another competitor?
I expect to find some kind of Json in the source code but how can I find it?
The trick is to open the Network tab of Dev Tools, reload the page, and search for the piece of data that you want to scrape. Here I saw a number is 21361.15, I searched for it and detected the JSON file is from https://www.etoro.com/sapi/userstats/CopySim/Username/hyjbrighter/OneYearAgo?callback=angular.callbacks._0&client_request_id=2ce991a6-0943-4111-abd3-6906ca92e45c.
But you need to clear the parameters in this situation to actually get the proper information.
I don't know which language you use, if you use Python, here is the code:
import requests
import pandas
data = requests.get("https://www.etoro.com/sapi/userstats/CopySim/Username/hyjbrighter/OneYearAgo").json()['simulation']['oneYearAgo']['chart']
data = pandas.DataFrame(data)
print(data)
Output:
If you use R, use jsonlite package.
I'm building UI to visualize and edit graph which is present in a gremlin store.
Which framework is better Cytoscape.js vs Gephi.js Vs other?
Do these frameworks have Blueprints plugin available? I want to avoid writing module to convert the gremlin output to the framework compatible format.
Please advice. Thanks.
Answer from the Cytoscape development team...
Well, there are a number of ways you can use Cytoscape with TinkerPop, but I would think that the best way would be to use the REST interface to Cytoscape and inject your graph directly into it. You could save your graph as a Neo4j database and use the Neo4j app to pull it into Cytoscape or save your graph as a GraphML or some other common graph format and read it in that way. Neither Cytoscape or Gephi are UI frameworks, though -- both are standalone applications that are designed to import, visualize, analyze and manipulate very large graphs.
A good place to start is on the Cytoscape Automation topic in the Cytoscape manual: http://manual.cytoscape.org/en/stable/Programmatic_Access_to_Cytoscape_Features_Scripting.html
No matter which library you use for graphs on the web, you're going to have to convert your model to the JSON format used by the library (e.g. the Cytoscape JSON format if you use Cytoscape desktop or Cytoscape.js).
Are there any beginner-friendly tutorials to display graphs in the way Knowledge graph has been done?
I have the data is JSON format presented from a graphdb
For eg:
The closest I have found so far is Gelphi. Which also can be integrated with unity to produce a 3d Graph like this one https://www.youtube.com/watch?v=h_arRCf73Kg.
Then there is https://cayley.io/
https://n0where.net/opengraphiti-data-visualization-engine/
There is also https://www.maana.io/knowledge-platform/platform-capabilities/#maana-knowledge-graph . However, i have not tried to use/download their platform.
https://en.wikipedia.org/wiki/Force-directed_graph_drawing
Finally, I am working myself on learning unity to build a simple GUI which a user can identify nodes and edges and entities easily and move them around. So instead of just reading from a data base, also write to it through a UI.
I'm looking for an online tools where me and my team could collaborate on creating graphs.
The purpose is to bind related words, and generate the adjacency list. For example,
Foo----Bar----Brool
|_____Lol
will generate the following list :
Foo,[Bar]
Bar,[Foo,Brool,Lol]
Brool,[Bar]
Lol,[Bar]
The idea is to allow people to collaborate simply using graph visualization, without diving through the adjacency list directly.
There is one service wchich I believe is going to be designed to allow people to collaborate on creating a graph. It is Graph Commons. Site slogan says:
Collaborative 'network mapping' platform and knowledge base of relationships
Unfortunately at the moment you can only sign up for beta invitation on the website. And from the website it is not clear what the creation/editing mechanism would be.
You could use yfiles library to build a graph editor online, but I've never used it and I don't know if you can manage multimple sessions (hence allowing direct collaboration). But, for instance, if you use graphity, which is an implementation of yfiles flex library, and save a file on dropbox, then each collaborator has access to that file, and you can set up a rudimentary collaboration graph tool. Maybe.
It would be great to have tools like LucidChart or Draw.io, but they don't allow to export a graph file (e.g. graphML from which you can then have an edgelist with some other programs like Gephi). Those tools only allow you to export images and vectors. Draw.io exports xml, but not graphML.
I believe Linkurious let you edit your graph. Again, I've never used it, I don't know if you can manage multiple sessions > collaboration. But I would check it out. Edit: Linkurious enterprise edition (see pricing) is desegned to handle multiple user sessions.
What about building something with vis.js? The library has the ability to «listen for changes in the data» using a DataSet component. Have a look at this example.
I'm sorry if I don't have any real answer, but since your question is very interesting in these days, and the right tools would come out sooner or later (if it doesn't exists), I wanted to share these thoughts. I hope they can help. Please post when you find a solution!
I need to visualize a very large graph ( > 1 million ) in a website, the library should to receive a JSON and generate a png.
I've already tried graphviz with spfd but the waiting is too long, the user will not be able to interact with a GUI so Cytoscape or Gephi are not an option.
Another option could be maybe exporting a .dot to web, but I don't know how efficient this would be.
http://www.gnuplot.info/ and http://dygraphs.com/ are two of my favorite charting libraries for the web. Plotting a million data points I would probably use gnuplot. I would look at caching generated images as much as possible, perhaps even generating them in a batch rather than at the time of the request. I think you will run into performance issues trying to pass the data in via JSON and attempting to render the graph client side.