Thoughts on an RDF API

Thoughts on an RDF API; an informal description of what I want an rdf api to accomplish.
This is an informal description of the things that we want to accomplish by having an rdf service.


  • An augmentation of our internal DOM representation to handle the case of rdf nodes. That is, the ability to have a set of rdf nodes corresponding to a set of triples, which can be altered through either a triple store or DOM manipulation, with all of the things that that entails; both serialisation and DOM manipulation at least.
  • An efficient bridge between this internal representation and any external service which may query or manipulate the data in a way that is live across different services accessing the data; that is, queries to a metadata service or bridges to rdf libraries which consume and produce rdf triples should alter the rdf inside our DOM representation.
  • The ability to exchange rdf objects or references into an rdf datastore between services. As services communicate via XPCOM, this means the ability to exchange rdf objects at an idl level. They could be exchanged as serialised rdf strings with anchor references, but that would require boxing and unboxing at each point of exchange, and would not be live; we want to avoid this.
  • Finally, we would like a base upon which a future metadata service could be built.