Enabling the Distributed Family Tree

This is the official research blog for the Distributed Family Tree, an open network of genealogical data and metadata.  In a nutshell, the big idea is that we can combine all available genealogical information on the Internet into a single distributed network.  The foundation for this network is the substance of the Master's Thesis that I am currently working on.

Replumbing

I should probably be coding right now, but perhaps my sanity will be best preserved if I take a break to update any readers I may still have on what’s going on.

When I embarked on this project, the plan was to use Jena and NG4J for the data plumbing.  When I started programming, however, I found it much easier to just write my own custom plumbing.  It wasn’t as complete or as powerful as Jena/NG4J, but at least I understood how it worked and it did exactly what I wanted.  As time wore on I began to feel the constraining effects of that decision, though.  I vowed to myself that I would eventually replace my code with Jena and NG4J.  Well, as I can’t make any more progress on the thesis until I’ve fixed this mess, the time has come.  So that’s what I’ve been doing.  What’s really sick and twisted is that the parts I’ve already upgraded are so much more elegant and clean now.  What was I thinking!?

So I’ve come full circle.  When I finish this huge refactoring effort, I’ll be able to leverage all the improvements that have been happening in Jena and NG4J lately.  Particularly exciting is the new Jena SDB, which is a very well written SPARQL to SQL translator.  The lack of such a translator is what originally motivated me to do my own custom plumbing.  It still lacks SQL FILTER evaluation, though, which perhaps can be my contribution to the community.  I’ve already extended it for named graphs.

In other news, the Genesis interface has really been grating on me lately.  It needs to be easier to use, fun, and, well, obvious.  Think Google.  We’ll see if I have enough self-restraint to leave it as is until I finish the thesis.  Then I can play all I want.

    Comments

  1. Permalink to this comment Pipian

    I’m glad to see that the project has continued in my absence these past 3 months. My studies got in the way of getting any progress done, but now that summer is around, I have a bit more free time outside of my internship to do a little tinkering and helping out.

    I still want to investigate the issues with differing calendrical systems and perhaps some sort of AJAXy geographic solution. In the past few days, I finished reworking a project that I’d been working on earlier this year when I talked to you last, namely a more ‘human-friendly-URI-and-search’ for the Geonames database, focusing more on (current) cities and administrative divisions. (You can see it at http://www.pipian.com/rdf/places/) and some sort of combination of this with user-built historical subdivision data might be useful (if difficult).

    One of the other things I want to do (or at least to see) is work on some autonomous agents that fit into the DFT ‘network’, given the incomplete nature of hosting the files for external users, so some sort of automated ’search’ or ‘request’ service independent of the program itself might be useful to ’scrape’ potential matches while the user is busy doing things other than genealogical research…

    I haven’t ever gotten a chance to play around with the UI much either, but I’ll give playing around with that a shot too.

    Oh, and I use a Mac, so I might be able to provide at least a few patches if you’re interested to make it more ‘Cocoa’-friendly out of the box.

  2. Permalink to this comment Hilton

    The project hasn’t progressed as much as I’d like, but I’m hopeful that with constant effort it will blossom in time. Welcome back!

    The Locationary you’ve put together looks really great! The ability to have more than just a textual place name is invaluable. Particulary having the geo coordinates, which of course make distance measures and interactive maps possible.

    When you mention independent search or request services, do you mean a web application, another program, or something else? I love the concept and thought that perhaps minimizing Genesis to the system tray (in Windows, I’m not sure what the same mechanism is called on Mac) and letting it run agents in the background might fill that need. On the other hand, a web application that does that might be really neat. You could think of it as a sort of feed aggregator. I think I’d use SPARQL/SPARUL for transferring results into Genesis.

    And as for Mac, yes, I’d love to make it more ‘Cocoa’-friendly. I’d really like to be doing builds for other operating systems than Windows. I haven’t been able to get them to automatically build properly on Windows though. Problems with the file system, I think.

  3. Permalink to this comment Ian Jacobi

    With regard to independent search/request services, I mean just what you say with regards to minimizing Genesis to the system tray (in the Mac, it’d either stay in the dock or live up in the main menu bar), in so far as even when you aren’t actively working on your tree and have it minimized, the program is autonomously searching for new data (with agents) that fits into the local model with high confidence (based of course on user confidence settings) to present to the user when he picks his tree back up for more editing.

    Now, also, I know that SWT isn’t necessarily OS X friendly, but I seem to be having some problems building the system. It’s bugging out about needing org.apache.xalan as well as not being able to resolve some org.eclipse.swt classes. I must admit I’ve not used Eclipse before either.

  4. Permalink to this comment Hilton

    One of the independent search/request services I’d really like to see is a peer-to-peer network. It would be really neat to have instances of Genesis link up and distribute data. Add to the mix a simple plug-in that can import GEDCOM files into Genesis and we could all easily share our genealogical data (as RDF) without having to publish anything on a website. Other clients could also tap in, such as a web application for people to do searches without Genesis, and some really cool things could start happening.

    As for building on OS X, of course I’ve never done it, but if you want to e-mail me the output that you’re seeing I might be able to help resolve it. The build process is really tricky :(.

Leave a Reply

cheap generic kamagra kamagra uk viagra, Viagra Buy generic viagra levitra and cialis pills