Differences between revisions 3 and 4
Revision 3 as of 2004-11-23 16:18:18
Size: 1920
Editor: klds
Comment:
Revision 4 as of 2008-11-15 14:00:48
Size: 1924
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
 * [http://onebigsoup.wiki.taoriver.net/moin.cgi/nLSDgraphs OneBigSoup:nLSDgraphs]
 * [http://communitywiki.org/nLSD CommunityWiki:nLSD]
 * [[http://onebigsoup.wiki.taoriver.net/moin.cgi/nLSDgraphs|OneBigSoup:nLSDgraphs]]
 * [[http://communitywiki.org/nLSD|CommunityWiki:nLSD]]

Networked Data

I've created something that fits the pattern of "Networked Data" which seems to be the way right now.

You can do things like this:

   1 >>> import graph
   2 >>> store = graph.GraphStore()
   3 >>> some_data = { "a": 4547,
   4 ...               "b": 34,
   5 ...               "c": 976,
   6 ...               "other": store.new_ref( "http://taoriver.net/tmp/foo.txt" ) }
   7 >>> g = store.new_graph( "foo" )
   8 >>> g.accept( some_data )
   9 0
  10 >>> print g.serialize()
  11 0:DICT:1,2,3,4,5,6,7,8
  12 1:STR:a
  13 2:INT:4547
  14 3:STR:c
  15 4:INT:976
  16 5:STR:b
  17 6:INT:34
  18 7:STR:other
  19 8:REF:http://taoriver.net/tmp/foo.txt
  20 -1:FLAG:START 0
  21 
  22 >>> some_data["other"].resolve()
  23 >>> some_data["other"]
  24 [<reference into http://www.speakeasy.org/~lion/data/bar.txt>, 'hello', 'world!']
  25 >>> some_data["other"][0].resolve()
  26 >>> some_data
  27 {'a': 4547, 'c': 976, 'b': 34, 'other': [['the', 'river', 'of', 'hope', [...]], 'hello', 'world!']}
  28 >>> 

It's still messy, and it requires a little more work than it needs to, but it's really cool!

What this means is that you can use native python data, which includes "Ref" objects, and then resolve it or publish it over the Internet. It resolves transparently!

There are some limitations in the present code that I want to get rid of:

  • You have to register the containers of References with the Graph store. I'd like to find a way to use Python's internal object database, to get relatively quick access to objects that include references, to get around the registration requirement.
  • The code sucks, and I'm working to clean it up.

But it's really fun to think of things that you can do with this, or just- this type of thing.

For more on this particular work, see:

Discussion

  • (none yet!)

NetworkedData (last edited 2008-11-15 14:00:48 by localhost)

Unable to edit the page? See the FrontPage for instructions.