Mercurial > hg > WSGraph
annotate README.txt @ 41:194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 11 Apr 2013 15:31:38 -0700 |
parents | 00aee7b82657 |
children | 1cc89badc5c6 |
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 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
67 * http://www.graphdracula.net/ |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
68 * http://thejit.org/ |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
69 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
70 Ideas |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
71 ----- |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
72 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
73 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
|
74 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
|
75 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
|
76 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
|
77 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
78 Background.... |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
79 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
80 The web is a directed graph ( |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
81 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
|
82 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
|
83 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
|
84 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
|
85 visualization. |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
86 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
87 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
|
88 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
|
89 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
|
90 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
|
91 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
|
92 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
|
93 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
|
94 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
|
95 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
|
96 /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
|
97 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
|
98 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
|
99 - 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
|
100 referer |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
101 - 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
|
102 - 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
|
103 want....you have the whole request) |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
104 - 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
|
105 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
|
106 more rarely to the user. |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
107 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
|
108 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
|
109 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
|
110 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
|
111 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
|
112 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 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
|
120 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
121 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
|
122 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
|
123 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
124 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
|
125 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
|
126 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
127 |
194ea1428156
from http://k0s.org/portfolio/directed-graph.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
40
diff
changeset
|
128 |
40 | 129 Graph exchange formats: |
130 | |
131 * http://en.wikipedia.org/wiki/Graph_Modelling_Language | |
132 * http://en.wikipedia.org/wiki/GraphML | |
133 * http://en.wikipedia.org/wiki/Trivial_Graph_Format | |
134 * http://www.gupro.de/GXL/ , http://en.wikipedia.org/wiki/GXL | |
135 * http://en.wikipedia.org/wiki/Dot_language (Graphviz) | |
136 | |
137 | |
138 Python packages related to graphs: | |
139 | |
140 * graph-tool: http://en.wikipedia.org/wiki/Graph-tool , | |
141 https://pypi.python.org/pypi/graph-tool | |
142 | |
143 | |
144 External libraries and tools | |
145 | |
146 * Graphviz | |
147 * tulip: http://tulip.labri.fr/TulipDrupal/ | |
148 | |
149 -- | |
150 | |
151 * see also http://k0s.org/links/?q=graph | |
152 | |
153 Parallel Efforts | |
154 ---------------- | |
155 | |
156 * http://k0s.org/hg/IntentMadeManifest/ | |
157 | |
158 | |
159 | |
0 | 160 ---- |
161 | |
162 Jeff Hammel | |
163 | |
164 http://k0s.org/hg/WSGraph | |
165 |