public class FileTcProvider extends Object implements WeightedTcProvider
FileTcProvider
is a WeightedTcProvider
that
stores MGraph
S in the file system. Graph
S are not
supported.
The UriRef
of a MGraph is location of the file in the file system
(e.g. "file:///home/user/myGraph.rdf"). The format of the rdf data in the file
depends on the file ending, for example ".rdf" or ".ttl".
FileTcProvider
uses
org.apache.clerezza.rdf.core.serializedform.Parser
and
org.apache.clerezza.rdf.core.serializedform.Serializer
for
parsing and serialization, therefore the supported formats depend on the
availability of these services.
The default weight of the provider is 300.Constructor and Description |
---|
FileTcProvider() |
Modifier and Type | Method and Description |
---|---|
protected void |
activate(org.osgi.service.component.ComponentContext componentContext) |
Graph |
createGraph(UriRef name,
TripleCollection triples)
Creates a
Graph with a specified name |
MGraph |
createMGraph(UriRef name)
Creates an initially empty
MGraph with a specified name |
void |
deleteTripleCollection(UriRef name)
Deletes the
Graph or MGraph of a specified name. |
Graph |
getGraph(UriRef name)
Get a
Graph by its name |
MGraph |
getMGraph(UriRef name)
Get an
MGraph by its name. |
Set<UriRef> |
getNames(Graph graph)
get a set of the names of a
Graph |
TripleCollection |
getTriples(UriRef name)
This method is used to get a
TripleCollection indifferently
whether it's a Graph or an MGraph. |
int |
getWeight()
Get the weight of this provider.
|
Set<UriRef> |
listGraphs()
Lists the name of the
Graph s available through this
TcProvider , implementations may take into account the
security context and omit Graph s for which access is not
allowed. |
Set<UriRef> |
listMGraphs()
Lists the name of the
MGraph s available through this
TcProvider , implementations may take into account the
security context and omit MGraph s for which access is not
allowed. |
Set<UriRef> |
listTripleCollections()
Lists the name of the
TripleCollection s available through this
TcProvider indifferently whether they are Graphs or an
MGraphs, implementations may take into account the security context and
omit TripleCollection s for which access is not allowed. |
protected static File dataFile
protected void activate(org.osgi.service.component.ComponentContext componentContext)
public int getWeight()
WeightedTcProvider
TcManager
will prioritize
TcProvider
s with greater weight.getWeight
in interface WeightedTcProvider
public Graph getGraph(UriRef name) throws NoSuchEntityException
TcProvider
Graph
by its namegetGraph
in interface TcProvider
name
- the name of the GraphGraph
with the specified nameNoSuchEntityException
- if there is no Graph
with the specified namepublic MGraph getMGraph(UriRef name) throws NoSuchEntityException
MGraph
by its name. If the file at the specified
location already exists, then a MGraph is returned even though it was not
created with createMGraph().getMGraph
in interface TcProvider
the
- name of the MGraph
MGraph
with the specified nameNoSuchEntityException
- if there is no MGraph
with the specified name or the file didn't exist.public TripleCollection getTriples(UriRef name) throws NoSuchEntityException
TcProvider
TripleCollection
indifferently
whether it's a Graph or an MGraph. If the name
names an
MGraph
the result is the same as when invoking
getMGraph
with that argument, analogously for
Graph
S the method returns an instance equals to what
getGraph
would return.getTriples
in interface TcProvider
name
- the name of the Graph
or MGraph
Graph
or MGraph
NoSuchEntityException
- if there is no Graph
or MGraph
with the specified namepublic Set<UriRef> listGraphs()
TcProvider
Graph
s available through this
TcProvider
, implementations may take into account the
security context and omit Graph
s for which access is not
allowed.listGraphs
in interface TcProvider
Graph
spublic Set<UriRef> listMGraphs()
TcProvider
MGraph
s available through this
TcProvider
, implementations may take into account the
security context and omit MGraph
s for which access is not
allowed.listMGraphs
in interface TcProvider
MGraph
spublic Set<UriRef> listTripleCollections()
TcProvider
TripleCollection
s available through this
TcProvider
indifferently whether they are Graphs or an
MGraphs, implementations may take into account the security context and
omit TripleCollection
s for which access is not allowed.listTripleCollections
in interface TcProvider
TripleCollection
spublic MGraph createMGraph(UriRef name) throws UnsupportedOperationException, EntityAlreadyExistsException
TcProvider
MGraph
with a specified namecreateMGraph
in interface TcProvider
name
- names the new MGraph
MGraph
UnsupportedOperationException
- if this provider doesn't support
creating MGraph
SEntityAlreadyExistsException
- if an MGraph with the specified name
already existspublic Graph createGraph(UriRef name, TripleCollection triples) throws UnsupportedOperationException, EntityAlreadyExistsException
TcProvider
Graph
with a specified namecreateGraph
in interface TcProvider
name
- the name of the Graph
to be createdtriples
- the triples of the new Graph
Graph
UnsupportedOperationException
- if this provider doesn't support
creating Graph
SEntityAlreadyExistsException
- if a Graph with the specified name
already existspublic void deleteTripleCollection(UriRef name) throws UnsupportedOperationException, NoSuchEntityException, EntityUndeletableException
TcProvider
Graph
or MGraph
of a specified name.
If name
references a Graph and the graph has other names, it
will still be available with those other names.deleteTripleCollection
in interface TcProvider
name
- the entity to be removedUnsupportedOperationException
- if this provider doesn't support
entities deletion.NoSuchEntityException
- if name
doesn't refer to a
Graph
or an MGraph
.EntityUndeletableException
- if the specified Graph is undeletablepublic Set<UriRef> getNames(Graph graph)
TcProvider
Graph
getNames
in interface TcProvider
Graph
, the set is empty if
Graph
is unknownCopyright © 2014 The Apache Software Foundation. All Rights Reserved.