001package org.dllearner.algorithms.qtl.util; 002 003import com.google.common.collect.ComparisonChain; 004import org.apache.jena.rdf.model.Statement; 005import org.apache.jena.sparql.util.NodeComparator; 006 007import java.util.Comparator; 008 009/** 010 * A comparator for Jena Statements. 011 * 012 * @author Lorenz Buehmann 013 */ 014public class StatementComparator implements Comparator<Statement> { 015 016 final NodeComparator nodeComparator = new NodeComparator(); 017 018 @Override 019 public int compare(Statement s1, Statement s2) { 020 return ComparisonChain.start() 021 .compare(s1.getSubject().asNode(), s2.getSubject().asNode(), nodeComparator) 022 .compare(s1.getPredicate().asNode(), s2.getPredicate().asNode(), nodeComparator) 023 .compare(s1.getObject().asNode(), s2.getObject().asNode(), nodeComparator) 024 .result(); 025 } 026 }