Mercurial > hg > WSGraph
annotate README.txt @ 58:c4f551305a23 default tip
note http://marvl.infotech.monash.edu/webcola/
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Sun, 02 Aug 2015 08:14:20 -0700 |
| parents | 2c4437762884 |
| children |
| rev | line source |
|---|---|
| 0 | 1 WSGraph |
| 2 =========== | |
| 3 | |
| 4 WSGI graph server | |
| 5 | |
| 40 | 6 |
|
41
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
7 Directed Graphs |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
8 =============== |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
9 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
10 Storage |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
11 ------- |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
12 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
13 A directed graph may be expressed as JSON:: |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
14 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
15 {'nodes': {'node1': {'metadata1': value, ...}, |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
16 'node2': {'metadata1': value, ...}}. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
17 'edges': {'node1': {'node2': {'metadata': value}, ...}, |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
18 ...}, |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
19 'graphmetadata': value, |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
20 ...} |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
21 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
22 In languages like python, which can hash (key, value) pairs, the edges |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
23 may be more conveniently hashed:: |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
24 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
25 edges[('foo', 'bar')] = {'metadata': value} |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
26 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
27 A directed graph may be stored in a RDB:: |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
28 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
29 Table: *nodes* |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
30 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
31 +----+---------+---------+---+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
32 |node|metadata1|metadata2|...| |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
33 +====+=========+=========+===+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
34 |foo |value |value | | |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
35 +----+---------+---------+---+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
36 |bar |value |value | | |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
37 +----+---------+---------+---+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
38 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
39 Table: *edges* |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
40 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
41 +-----+-----+---------+---------+---+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
42 |node1|node2|metadata1|metadata2|...| |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
43 +=====+=====+=========+=========+===+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
44 |foo |bar |value |value | | |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
45 +-----+-----+---------+---------+---+ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
46 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
47 Note that the nodes table has unique keys, but the edges table has |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
48 rows identified only by the ordered set of two keys: node1 and node2. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
49 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
50 Previous formats use a node and value hash of a string: the nodes have |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
51 a given name. While this is convenient for human identification, a |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
52 more efficient hashing mechanism may be achieved by an algorithm. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
53 Since a edge is a unique hash of two nodes, the nodes may be numbered |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
54 with an appropriate algorithm giving a unique hash per edge. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
55 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
56 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
57 Higher Dimensionality |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
58 --------------------- |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
59 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
60 * faces |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
61 * ... |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
62 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
63 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
64 Links |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
65 ----- |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
66 |
|
46
2d57cda87036
start noting useful graph DBs
Jeff Hammel <jhammel@mozilla.com>
parents:
45
diff
changeset
|
67 Javascript: |
| 50 | 68 * http://www.jgraph.com/mxgraph.html |
| 69 Interactive JavaScript HTML 5 Diagramming Library; | |
| 70 demo at https://www.draw.io/ | |
|
41
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
71 * http://www.graphdracula.net/ |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
72 * http://thejit.org/ |
|
58
c4f551305a23
note http://marvl.infotech.monash.edu/webcola/
Jeff Hammel <k0scist@gmail.com>
parents:
57
diff
changeset
|
73 * http://marvl.infotech.monash.edu/webcola/ : cola.js |
|
c4f551305a23
note http://marvl.infotech.monash.edu/webcola/
Jeff Hammel <k0scist@gmail.com>
parents:
57
diff
changeset
|
74 Constraint-Based Layout in the Browser |
| 52 | 75 * d3: http://d3js.org/ |
| 76 * http://maxdemarzi.com/2012/02/13/visualizing-a-network-with-cypher/ | |
| 77 * https://github.com/ignacioola/insights | |
| 78 * http://blog.nextgenetics.net/?e=7 | |
| 79 | |
| 57 | 80 Python: |
| 81 * http://graph-tool.skewed.de/ : | |
| 82 Graph-tool is an efficient Python module for manipulation and | |
|
58
c4f551305a23
note http://marvl.infotech.monash.edu/webcola/
Jeff Hammel <k0scist@gmail.com>
parents:
57
diff
changeset
|
83 statistical analysis of graphs (a.k.a. networks). |
| 57 | 84 * http://igraph.org/python |
|
41
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
85 |
|
46
2d57cda87036
start noting useful graph DBs
Jeff Hammel <jhammel@mozilla.com>
parents:
45
diff
changeset
|
86 Graph DBs: |
| 56 | 87 * https://pypi.python.org/pypi/ajgu : Graph database with several |
| 88 backends architecture in mind | |
| 89 * https://bitbucket.org/lcrees/graphalchemy : graphalchemy is a | |
| 90 generic object to graph mapper for graph databases. | |
|
46
2d57cda87036
start noting useful graph DBs
Jeff Hammel <jhammel@mozilla.com>
parents:
45
diff
changeset
|
91 |
| 57 | 92 Applications: |
| 93 * http://www.freebsd.org/cgi/man.cgi?query=netgraph&sektion=4 : | |
| 94 netgraph -- graph based kernel networking subsystem | |
|
46
2d57cda87036
start noting useful graph DBs
Jeff Hammel <jhammel@mozilla.com>
parents:
45
diff
changeset
|
95 |
|
41
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
96 Ideas |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
97 ----- |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
98 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
99 I work at automation and testing at Mozilla, but have been known to |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
100 don multiple hats, and, not surprisingly, I think a lot about how the |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
101 web works. So I just read Stuart's blog post and couldn't help but |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
102 feel that it plays somewhat in to my idea of mine. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
103 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
104 Background.... |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
105 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
106 The web is a directed graph ( |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
107 http://en.wikipedia.org/wiki/Directed_graph ). The nodes of the |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
108 directed graphs are web pages and the edges of the directed graphs are |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
109 produced when you clicked on a link. This gives a unique opportunity |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
110 to provide maps of the web. There are a few components in this |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
111 visualization. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
112 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
113 A site map. This is a map that sits on a server. When a visitor |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
114 clicks on a link, a new edge is added by reading HTTP REFERER. A toy |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
115 example, no longer "live", is at http://k0s.org/map.svg . This gives |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
116 both the webmaster and visitors to see how the site is traveled: the |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
117 well worn routes as well as the dusty trails. Note that the map |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
118 itself is an element on the map :) In addition, the map could be |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
119 embedded as a navigation aid on any page that desires it. Obviously a |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
120 lot more could be done here than is shown in the toy example: nodes |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
121 could be collapsed into metanodes until expanded (that is |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
122 /pictures/mission/capp.jpg and /pictures/mission/cowboy.jpg might just |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
123 be /pictures/mission for the sake of easy navigation unless a user |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
124 clicked in for closer detail), etc. The algorithm is really simple: |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
125 - for each request (in middleware) read the path info and the HTTP |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
126 referer |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
127 - if this edge doesn't exist create it |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
128 - if it does, add one to its count (and whatever other metadata you |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
129 want....you have the whole request) |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
130 - additionally, you need a handler to display this data |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
131 Some sites do this though I rarely see it presented this way and even |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
132 more rarely to the user. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
133 In addition, you can make the system federated. For instance, lets |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
134 say foo.org and bar.org both have maps (presumedly noted as <link |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
135 rel="" type=""> in their <HEAD>s). If there is traffic from foo to |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
136 bar you can stitch these maps together at the points where they meet. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
137 You have a federated map of the web! |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
138 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
139 The map of one's journey. So the above is from the site's point of |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
140 view. What about the user's point of view? It would be easy to make |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
141 an addon that recorded your own map of how you traversed the web. You |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
142 click on a link in any tab and, again, an edge is created (and |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
143 populated with whatever metadata you want). You can see how you use |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
144 the web as well as share your travels with friends. This could also |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
145 link up with site maps when they are available. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
146 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
147 Just some things I've been thinking of in the last two years. I'm |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
148 happy to go into more detail or flush them out if there is interest. |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
149 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
150 https://groups.google.com/forum/?hl=en#!topic/mozilla-labs-pancake/TbRFpxvic6M |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
151 http://play.fxhome.mozillalabs.com:4322/lattice/oyiptong@mozilla.com/graph/vis.html |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
152 |
|
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
153 |
| 42 | 154 = Graph exchange formats = |
|
41
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
155 |
| 42 | 156 [Planned] WSGraph should be able to import and export any of the |
| 157 standard graph formats | |
| 40 | 158 |
| 42 | 159 * JSGN (native) |
| 40 | 160 * http://en.wikipedia.org/wiki/Graph_Modelling_Language |
| 161 * http://en.wikipedia.org/wiki/GraphML | |
| 162 * http://en.wikipedia.org/wiki/Trivial_Graph_Format | |
| 163 * http://www.gupro.de/GXL/ , http://en.wikipedia.org/wiki/GXL | |
| 164 * http://en.wikipedia.org/wiki/Dot_language (Graphviz) | |
| 165 | |
| 166 | |
| 42 | 167 = Resources = |
| 168 | |
| 40 | 169 Python packages related to graphs: |
| 170 | |
| 171 * graph-tool: http://en.wikipedia.org/wiki/Graph-tool , | |
| 43 | 172 https://pypi.python.org/pypi/graph-tool , |
| 173 http://projects.skewed.de/graph-tool/ | |
| 40 | 174 |
|
54
a10582739c9c
http://igraph.sourceforge.net/
Jeff Hammel <jhammel@mozilla.com>
parents:
53
diff
changeset
|
175 * http://igraph.sourceforge.net/ |
|
a10582739c9c
http://igraph.sourceforge.net/
Jeff Hammel <jhammel@mozilla.com>
parents:
53
diff
changeset
|
176 |
|
55
bf63d9db42bc
http://networkx.github.io/
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
177 * http://networkx.github.io/ |
|
bf63d9db42bc
http://networkx.github.io/
Jeff Hammel <jhammel@mozilla.com>
parents:
54
diff
changeset
|
178 |
| 44 | 179 Javascript: |
| 180 | |
| 53 | 181 * http://sigmajs.org/ |
| 182 * graphdracula | |
| 44 | 183 * http://arborjs.org/ |
| 184 | |
| 40 | 185 |
| 48 | 186 Other external libraries and tools: |
| 40 | 187 |
| 48 | 188 * Graphviz: the old, the venerable, and still the king |
| 40 | 189 * tulip: http://tulip.labri.fr/TulipDrupal/ |
| 42 | 190 * GUESS: http://graphexploration.cond.org/ |
| 191 * Java Universal Network/Graph Framework : http://jung.sourceforge.net/ | |
| 43 | 192 * graphthing http://graph.seul.org/ |
| 193 * igraph http://igraph.sourceforge.net/ | |
|
47
b2be302dd2fb
http://blockdiag.com/en/index.html
Jeff Hammel <jhammel@mozilla.com>
parents:
46
diff
changeset
|
194 * blockdiag: imple diagram images generator; http://blockdiag.com/ |
| 49 | 195 * graphthing: http://graph.seul.org/ |
| 53 | 196 * gephi: http://gephi.org/ ; the open source graph visualizer |
| 40 | 197 |
| 48 | 198 Let's not forget |
| 199 * ganv: Ganv is an interactive Gtk canvas widget for graph-based | |
| 200 interfaces; | |
| 201 http://dev.drobilla.net/browser/trunk/ganv (though see also | |
| 202 http://packages.ubuntu.com/source/quantal/libs/ganv and | |
| 203 http://harryhaaren.blogspot.com/2012/12/getting-to-grips-with-flowcanvas.html | |
| 49 | 204 ) |
| 48 | 205 |
| 206 | |
| 42 | 207 See also http://k0s.org/links/?q=graph |
| 40 | 208 |
| 43 | 209 (And what is |
| 210 https://github.com/tinkerpop/blueprints/wiki/GraphML-Reader-and-Writer-Library ?) | |
| 40 | 211 |
| 212 Parallel Efforts | |
| 213 ---------------- | |
| 214 | |
| 215 * http://k0s.org/hg/IntentMadeManifest/ | |
| 216 | |
| 217 | |
| 45 | 218 TODO |
| 219 ---- | |
| 220 | |
| 221 * a tool to take graphml embedded in a webpage (or other suitable | |
| 222 format) and generate a graph in the chosen form (e.g. <img | |
| 223 src="_generated_graph.png"/> or whatevr we can hammer into HTML | |
| 40 | 224 |
| 0 | 225 ---- |
| 226 | |
| 227 Jeff Hammel | |
| 228 | |
| 229 http://k0s.org/hg/WSGraph | |
| 230 |
