Class 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 Detail

      • QuadStore

        public QuadStore()
    • Method Detail

      • equals

        public abstract boolean equals​(Object o)
        Overrides:
        equals in class Object
      • 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 format
        base - Base URL
        format - 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 location
        format - QuadStore format (.TTL)
        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)
      • removeQuads

        public final void removeQuads​(List<Quad> quads)
      • 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 renamed
        toPredicate - new predicate name
      • toString

        public final String toString()
        Uses Quads in string representation
        Overrides:
        toString in class Object
        Returns:
        String of QuadStore
      • toSortedString

        public final String toSortedString()
        Use sorted Quads in string representation
        Returns:
        sorted String of QuadStore