Class LexicalValueComparator

java.lang.Object
org.eclipse.rdf4j.model.util.LexicalValueComparator
All Implemented Interfaces:
Serializable, Comparator<Value>

public class LexicalValueComparator extends Object implements Serializable, 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:
  • Field Details

  • Constructor Details

    • LexicalValueComparator

      public LexicalValueComparator()
  • Method Details

    • compare

      public int compare(Value o1, Value o2)
      Specified by:
      compare in interface 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
      invalid reference
      QueryEvaluationUtil#compareLiterals(Literal, Literal, CompareOp)
      is used in consecutive ordering steps.
    • compareDatatypes

      private int compareDatatypes(XSD.Datatype leftDatatype, XSD.Datatype rightDatatype)
    • compareTriples

      private int compareTriples(Triple leftTriple, Triple rightTriple)