Class LexicalValueComparator

  • All Implemented Interfaces:
    java.io.Serializable, java.util.Comparator<Value>

    public class LexicalValueComparator
    extends java.lang.Object
    implements java.io.Serializable, java.util.Comparator<Value>
    A lexical RDF Term Comparator, this class does not compare numerically and is therefore a bit faster than a SPARQL compliant comparator.
    See Also:
    Serialized Form
    • Constructor Detail

      • LexicalValueComparator

        public LexicalValueComparator()
    • Method Detail

      • compare

        public int compare​(Value o1,
                           Value o2)
        Specified by:
        compare in interface java.util.Comparator<Value>
      • compareBNodes

        private int compareBNodes​(BNode leftBNode,
                                  BNode rightBNode)
      • compareURIs

        private int compareURIs​(IRI leftURI,
                                IRI rightURI)
      • compareLiterals

        private int compareLiterals​(Literal leftLit,
                                    Literal rightLit)
      • compareDatatypes

        private int compareDatatypes​(IRI leftDatatype,
                                     IRI rightDatatype)
        Compares two literal datatypes and indicates if one should be ordered after the other. This algorithm ensures that compatible ordered datatypes (numeric and date/time) are grouped together so that QueryEvaluationUtil#compareLiterals(Literal, Literal, CompareOp) is used in consecutive ordering steps.
      • compareTriples

        private int compareTriples​(Triple leftTriple,
                                   Triple rightTriple)