Package be.ugent.rml.store
Class QuadStore
- java.lang.Object
-
- be.ugent.rml.store.QuadStore
-
- Direct Known Subclasses:
RDF4JStore,SimpleQuadStore
public abstract class QuadStore extends Object
Vendor-neutral interface for managing RDF collections. Implemented for RDF4J and custom SimpleQuadStore (for faster implementation without indexing of RDF libraries)
-
-
Constructor Summary
Constructors Constructor Description QuadStore()
-
Method Summary
Modifier and Type Method Description voidaddQuad(Quad q)Helper functionvoidaddQuad(Term subject, Term predicate, Term object)Helper functionabstract voidaddQuad(Term subject, Term predicate, Term object, Term graph)Add given Quad to storevoidaddQuads(List<Quad> quads)Add all quads in given listbooleancontains(Term subject, Term predicate, Term object)Helper functionabstract booleancontains(Term subject, Term predicate, Term object, Term graph)True if Quad matching input is present in store.abstract voidcopyNameSpaces(QuadStore store)Copy namespaces between stores.abstract booleanequals(Object o)QuadgetQuad(Term subject, Term predicate, Term object)Helper functionQuadgetQuad(Term subject, Term predicate, Term object, Term graph)Helper functionList<Quad>getQuads(Term subject, Term predicate, Term object)Helper functionabstract List<Quad>getQuads(Term subject, Term predicate, Term object, Term graph)Get all Quads in store matching arguments.abstract booleanisEmpty()True if RDF quads present is 0abstract booleanisIsomorphic(QuadStore store)Test if given store and this store are isomorphic RDF graph representationsabstract booleanisSubset(QuadStore store)Test if given store is subset of this storeabstract voidread(InputStream is, String base, org.eclipse.rdf4j.rio.RDFFormat format)Read RDF to QuadStore TODO use class or enum for input formatabstract voidremoveDuplicates()Remove duplicate quadsvoidremoveQuads(Quad quad)voidremoveQuads(Term subject, Term predicate, Term object)Helper functionabstract voidremoveQuads(Term subject, Term predicate, Term object, Term graph)Remove all Quads matching input from store.voidremoveQuads(List<Quad> quads)voidrenameAll(Term fromPredicate, Term toPredicate)Rename all predicates in graphabstract intsize()Number of RDF quadsStringtoSortedString()Use sorted Quads in string representationStringtoString()Uses Quads in string representationvoidtryPropertyTranslation(Term from, Term fromPredicate, Term to, Term toPredicate)If fromPredicate is present on from, rename it to toPredicate and move it to tovoidwrite(ByteArrayOutputStream out, String format)Helper functionvoidwrite(PrintStream out, String format)Helper functionabstract voidwrite(Writer out, String format)Write out the QuadStore in given format TODO use class or enum for output format
-
-
-
Method Detail
-
removeQuads
public abstract void removeQuads(Term subject, Term predicate, Term object, Term graph)
Remove all Quads matching input from store.- Parameters:
subject-predicate-object-graph-
-
contains
public abstract boolean contains(Term subject, Term predicate, Term object, Term graph)
True if Quad matching input is present in store.- Parameters:
subject-predicate-object-graph-- Returns:
-
isIsomorphic
public abstract boolean isIsomorphic(QuadStore store)
Test if given store and this store are isomorphic RDF graph representations- Parameters:
store-- Returns:
-
isSubset
public abstract boolean isSubset(QuadStore store)
Test if given store is subset of this store- Parameters:
store-- Returns:
-
removeDuplicates
public abstract void removeDuplicates()
Remove duplicate quads
-
addQuad
public abstract void addQuad(Term subject, Term predicate, Term object, Term graph)
Add given Quad to store- Parameters:
subject-predicate-object-graph-
-
getQuads
public abstract List<Quad> getQuads(Term subject, Term predicate, Term object, Term graph)
Get all Quads in store matching arguments. Null can be used as a wildcard.- Parameters:
subject-predicate-object-graph-- Returns:
-
copyNameSpaces
public abstract void copyNameSpaces(QuadStore store)
Copy namespaces between stores. Used in retaining the prefixes in the mapping file in the output. TODO define general Namespace class to use between QuadStore instances- Parameters:
store- QuadStore with namespaces to be copied to this store
-
isEmpty
public abstract boolean isEmpty()
True if RDF quads present is 0- Returns:
- boolean
-
size
public abstract int size()
Number of RDF quads- Returns:
- int
-
read
public abstract void read(InputStream is, String base, org.eclipse.rdf4j.rio.RDFFormat format) throws Exception
Read RDF to QuadStore TODO use class or enum for input format- Parameters:
is- Stream of RDF in given formatbase- Base URLformat- Given format for RDF- Throws:
Exception
-
write
public abstract void write(Writer out, String format) throws Exception
Write out the QuadStore in given format TODO use class or enum for output format- Parameters:
out- Writer output locationformat- QuadStore format (.TTL)- Throws:
Exception
-
write
public final void write(ByteArrayOutputStream out, String format) throws Exception
Helper function- Parameters:
out-format-- Throws:
Exception
-
write
public final void write(PrintStream out, String format) throws Exception
Helper function- Parameters:
out-format-- Throws:
Exception
-
getQuad
public final Quad getQuad(Term subject, Term predicate, Term object, Term graph) throws Exception
Helper function- Parameters:
subject-predicate-object-graph-- Returns:
- Throws:
Exception
-
getQuad
public final Quad getQuad(Term subject, Term predicate, Term object) throws Exception
Helper function- Parameters:
subject-predicate-object-- Returns:
- Throws:
Exception
-
getQuads
public final List<Quad> getQuads(Term subject, Term predicate, Term object)
Helper function- Parameters:
subject-predicate-object-- Returns:
-
contains
public final boolean contains(Term subject, Term predicate, Term object)
Helper function- Parameters:
subject-predicate-object-- Returns:
-
addQuad
public final void addQuad(Term subject, Term predicate, Term object)
Helper function- Parameters:
subject-predicate-object-
-
addQuad
public final void addQuad(Quad q)
Helper function- Parameters:
q-
-
addQuads
public final void addQuads(List<Quad> quads)
Add all quads in given list- Parameters:
quads- to be added to QuadStore
-
removeQuads
public final void removeQuads(Term subject, Term predicate, Term object)
Helper function- Parameters:
subject-predicate-object-
-
removeQuads
public final void removeQuads(Quad quad)
-
tryPropertyTranslation
public final void tryPropertyTranslation(Term from, Term fromPredicate, Term to, Term toPredicate)
If fromPredicate is present on from, rename it to toPredicate and move it to to- Parameters:
from-fromPredicate-to-toPredicate-
-
renameAll
public final void renameAll(Term fromPredicate, Term toPredicate)
Rename all predicates in graph- Parameters:
fromPredicate- predicate to be renamedtoPredicate- new predicate name
-
toString
public final String toString()
Uses Quads in string representation
-
toSortedString
public final String toSortedString()
Use sorted Quads in string representation- Returns:
- sorted String of QuadStore
-
-