[Mulgara-dev] ResolverFactory export support

Alex Hall alexhall at revelytix.com
Tue Jun 24 23:20:14 UTC 2008


Now that I've decided to add a supportsExport() method to the 
ResolverFactory interface, I realize that I have to go through and 
actually classify all the factories.  Here is my first stab at a list, 
with comments as appropriate:

== Does support export ==
1. StatementStoreResolverFactory (it certainly better!)
2. RemoteResolverFactory - Exporting the contents of a remote graph is 
possible, but it could result in streaming a large amount of data across 
the wire.
3. FileResolverFactory/JarResolverFactory/HttpResolverFactory - These 
are the protocol handlers for external RDF content.  Exporting an 
external graph is essentially a file copy.
4. FileSystemResolverFactory - An internal constructed graph, but 
supports resolving the ($s $p $o) constraint.
5. GISResolverFactory - Stores its content in a Mulgara graph
6. MemoryResolverFactory
7. NullResolverFactory - Even though the contents of the export will 
always be empty.
8. ViewResolverFactory
9. URLResolverFactory - Is this factory even used any more?

== Does not support export ==
10. LuceneResolverFactory - Requires a literal in the object position
11. NodeTypeResolverFactory/PrefixResolverFactory/XSDResolverFactory - 
These are the default internal constructed graphs with no actual content.
12. RelationalResolverFactory - Essentially an external constructed graph.
13. TestResolverFactory - Used for unit testing the custom constraints.

== Special cases ==
14. CacheResolverFactory/InternalResolverFactory - These are used 
internally by the database to wrap external and internal factories, 
respectively, to do special processing.  They delegate to the wrapped 
factory instance to answer supportsExport()

I welcome any comments on this list.

Regards,
Alex



More information about the Mulgara-dev mailing list