RDF:Interfaces: Difference between revisions

Jump to navigation Jump to search
composite datasource foo
(adding rdfIDataTarget. Do we need all those methods?)
(composite datasource foo)
Line 200: Line 200:


I'm not sure we need all of these. It really depends on which API we want in the rdfIObserver. As everything else doesn't need to be part of the core API.
I'm not sure we need all of these. It really depends on which API we want in the rdfIObserver. As everything else doesn't need to be part of the core API.
== rdfICompositeDataSource ==
It's an interesting question whether the composite ds should implement rdfIDataTarget or not. Usually, asserting into a composite ds is a fuzzy thing to do, and if we made accessing the child datasources easier, it may not be worth a whole lot. So I'd favor not to.
The composite data source implements nsIMutableArray, so that clients can insert and remove datasources in any order. This should be exposed to C++, js wants an array scriptable helper (which we have to implement ourselves, the DOM one works off of nsIDOMNodeList).
interface rdfICompositeDataSource : rdfIDataSource
{
    /**
      * When enumerating triples if two triples are exactly the same, don't
      * enumerate both arcs.
      * @note The default value is "false". Setting this to "true" can
      * negatively affect performance of queries.
      */
    attribute boolean ignoreDuplicateTriples;
    /**
      * Allow later datasources to override matching triples in earlier
      * datasources: i.e. DS1 has triple subjx->arc->"foo" and DS2 has
      * subjx->arc->"bar". If this attribute is false (the default) both triples
      * will be reflected. If true, only the "bar" arc will be reflected.
      * Setting this to true may affect performance and old-style container
      * aggregation.
      */
    attribute boolean allowOverride;
};
Note: if allowOverride is supposed to replace allowNegativeAssertions, then the comment is wrong.


== rdfISerializer ==
== rdfISerializer ==
Confirmed users, Bureaucrats and Sysops emeriti
2,976

edits

Navigation menu