RDF is all broken
OK I posted this before and got zero responses.
This time I'll be less polite.
The Zotero RDF export DOES NOT GENERATE VALID rdf/xml. It's so broken I have not found a parser that can deal with it. I've hacked up fixes with regex'ing around but it is tiresome and fragile and I still get bogus uri's where bnodes were intended.
I could currently make my zotero exports available via SPARQL servers (which by the way would be a good way to share zotero in a 2.0 world) but some effort would be required to get zotero up-to-speed with import/export of VALID rdf/xml.
I could hack up my own export in python by going directly to the sqlite db but that would probably break at some random upgrade point.
If there is no interest in making the RDF export work...then drop it and let someone write a plugin. That won't happen if Zotero proper pretends to do RDF.
--
...whew...it's still broken but I feel better now.
ciao
Phil
This time I'll be less polite.
The Zotero RDF export DOES NOT GENERATE VALID rdf/xml. It's so broken I have not found a parser that can deal with it. I've hacked up fixes with regex'ing around but it is tiresome and fragile and I still get bogus uri's where bnodes were intended.
I could currently make my zotero exports available via SPARQL servers (which by the way would be a good way to share zotero in a 2.0 world) but some effort would be required to get zotero up-to-speed with import/export of VALID rdf/xml.
I could hack up my own export in python by going directly to the sqlite db but that would probably break at some random upgrade point.
If there is no interest in making the RDF export work...then drop it and let someone write a plugin. That won't happen if Zotero proper pretends to do RDF.
--
...whew...it's still broken but I feel better now.
ciao
Phil
This is an old discussion that has not been active in a long time. Instead of commenting here, you should start a new discussion. If you think the content of this discussion is still relevant, you can link to it from your new discussion.
It now does parse into rdflib but not into sesame. It's still not valid rdf/xml and if that is Mozilla's fault then it might not be fixable (easily that is). For now I have written a rewrite hack to rename "rdf:" type nodes into proper bnodes.
It's beyond an import/export issue but seriously, using rdf as the actual datastore (i'm looked at the sql tables and the style of indirection it uses smacks of a graph model anyway...it's not true relational) and putting it into a piggy-bank store (see the SIMILE) and then use the Longwell to make it distributed.
Actually, I just double checked, Zotero and Simile are both supported by "The Andrew W. Mellon Foundation".
Now I should look around to see where that suggestion should be posted.
--
Phil
Sorry, but we're not interested in using RDF as the main datastore. Zotero makes heavy use of SQL (and will use the additional SQLite features available in Firefox 3).
We work with the SIMILE folks on a number of things, and some of their developers are working on automating transfer of Zotero data to SIMILE tools (beyond Timeline, which is already built-in).
In Zotero 1.5, we plan to move to a hierarchical data model, and we hope to integrate RDF mappings for our fields into it.
I've been wondering about the possibility of hybrid relational/RDF storage. If you look at something like the PHP-based ARC toolkit, for example, they manage to really easily merge it into WordPress and Drupal. From what I understand, they just add a few generic tables to represent the components of the triples, and that just sits alongside the standard tables.
WRT to Zotero, then, you use the RDF stuff for all the custom data users might want to store that you don't want to design in.
My thought is this gives the best of both worlds, responding to requests for flexibility and "custom fields" but without all the problems that you see in implementations like Endnote, where the custom data is effectively completely opaque.