org.topbraid.core.io
Interface IGraphStore

All Known Implementing Classes:
AbstractGraphStore, AbstractSesameGraphStore, AbstractSMGraphStore, AllegroGraphStore, JenaFileGraphStore, N3GraphStore, NTripleGraphStore, RDFaGraphStore, S2NGraphStore, S2RGraphStore, SesameNativeGraphStore, SesameRemoteGraphStore, SPARQLEndpointGraphStore

public interface IGraphStore

An interface for objects implementing the graphStore extension point. A GraphStore manages the life cycle of a file with a certain suffix. For example, this can be used to implement database backends.

Author:
Holger Knublauch

Method Summary
 void close(org.eclipse.core.resources.IFile file)
          Closes any resources allocated by a given file.
 java.net.URI getBaseURI(org.eclipse.core.resources.IFile file, java.util.Set<java.net.URI> imports)
          Gets the declared base URI and the owl:imports of a given file.
 java.lang.String[] getFileExtensions()
          Returns an (optional) array of file extensions that this graph store can handle.
 ImageMetadata getImageMetadata()
          Gets a (base) image to display files of this type in the Navigator (and potentially elsewhere).
 boolean isReadOnly(org.eclipse.core.resources.IFile file)
          Checks if a given IFile is read-only.
 com.hp.hpl.jena.graph.Graph load(org.eclipse.core.resources.IFile file, org.eclipse.core.runtime.IProgressMonitor monitor)
          Creates a new Jena Graph for a given IFile.
 void save(org.eclipse.core.resources.IFile file, com.hp.hpl.jena.graph.Graph graph, java.lang.String baseURI)
           
 boolean saveAs(org.eclipse.core.resources.IFile file, com.hp.hpl.jena.graph.Graph graph, java.lang.String baseURI)
           
 

Method Detail

close

void close(org.eclipse.core.resources.IFile file)
           throws java.lang.Exception
Closes any resources allocated by a given file.

Parameters:
file - the file representing the store
Throws:
java.lang.Exception

getBaseURI

java.net.URI getBaseURI(org.eclipse.core.resources.IFile file,
                        java.util.Set<java.net.URI> imports)
                        throws java.lang.Exception
Gets the declared base URI and the owl:imports of a given file. For example, in the standard file back-end this would use file introspection to check the declared xml:base and the owl:imports of the owl:Ontology.

Parameters:
file - the file to get the base URI of
imports - an initially empty Set that will contain imported URIs
Returns:
the base URI
Throws:
java.lang.Exception

getFileExtensions

java.lang.String[] getFileExtensions()
Returns an (optional) array of file extensions that this graph store can handle. This can be used by graph stores that cannot be fully configured through the string attribute of the extension point.

Returns:
a list of extensions or null for none

getImageMetadata

ImageMetadata getImageMetadata()
Gets a (base) image to display files of this type in the Navigator (and potentially elsewhere).

Returns:
the IImage or null to use the default image

isReadOnly

boolean isReadOnly(org.eclipse.core.resources.IFile file)
Checks if a given IFile is read-only. This is typically used for graph stores that just provide a view on some external data source, such as a D2RQ database (here: all files would be read-only), or for stores like the Sesame remote back-end where selected files may be read-only.

Returns:
true if this is a read-only store

load

com.hp.hpl.jena.graph.Graph load(org.eclipse.core.resources.IFile file,
                                 org.eclipse.core.runtime.IProgressMonitor monitor)
                                 throws java.lang.Exception
Creates a new Jena Graph for a given IFile. This method is only called after the system has determined whether this engine is actually responsible for the file's extension.

Parameters:
file - the file to load
monitor - the monitor for status reports or null
Returns:
a new Graph
Throws:
java.lang.Exception - if something went wrong

save

void save(org.eclipse.core.resources.IFile file,
          com.hp.hpl.jena.graph.Graph graph,
          java.lang.String baseURI)
          throws java.io.IOException
Throws:
java.io.IOException

saveAs

boolean saveAs(org.eclipse.core.resources.IFile file,
               com.hp.hpl.jena.graph.Graph graph,
               java.lang.String baseURI)
               throws java.lang.Exception
Parameters:
file -
model -
baseURI -
Returns:
true if the new IFile shall be the editor's input
Throws:
java.lang.Exception