From: <mrp...@us...> - 2014-03-24 01:34:36
|
Revision: 8014 http://sourceforge.net/p/bigdata/code/8014 Author: mrpersonick Date: 2014-03-24 01:34:33 +0000 (Mon, 24 Mar 2014) Log Message: ----------- added support for EmptyAccessPaths Modified Paths: -------------- branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePattern.java branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePatternMaterializer.java Modified: branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePattern.java =================================================================== --- branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePattern.java 2014-03-23 22:52:45 UTC (rev 8013) +++ branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePattern.java 2014-03-24 01:34:33 UTC (rev 8014) @@ -24,9 +24,9 @@ */ package com.bigdata.rdf.store; -import com.bigdata.rdf.model.BigdataResource; -import com.bigdata.rdf.model.BigdataURI; -import com.bigdata.rdf.model.BigdataValue; +import org.openrdf.model.Resource; +import org.openrdf.model.URI; +import org.openrdf.model.Value; /** * A simple class that represents a triple (or quad) pattern. @@ -38,21 +38,21 @@ // private static final long serialVersionUID = 1L; - private final BigdataResource s; - private final BigdataURI p; - private final BigdataValue o; - private final BigdataResource c; + private final Resource s; + private final URI p; + private final Value o; + private final Resource c; - public BigdataTriplePattern(final BigdataResource subject, - final BigdataURI predicate, final BigdataValue object) { + public BigdataTriplePattern(final Resource subject, + final URI predicate, final Value object) { - this(subject, predicate, object, (BigdataResource) null); + this(subject, predicate, object, (Resource) null); } - public BigdataTriplePattern(final BigdataResource subject, - final BigdataURI predicate, final BigdataValue object, - final BigdataResource context) { + public BigdataTriplePattern(final Resource subject, + final URI predicate, final Value object, + final Resource context) { this.s = subject; @@ -64,28 +64,71 @@ } - final public BigdataResource getSubject() { + final public Resource getSubject() { return s; } - final public BigdataURI getPredicate() { + final public URI getPredicate() { return p; } - final public BigdataValue getObject() { + final public Value getObject() { return o; } - final public BigdataResource getContext() { + final public Resource getContext() { return c; } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((c == null) ? 0 : c.hashCode()); + result = prime * result + ((o == null) ? 0 : o.hashCode()); + result = prime * result + ((p == null) ? 0 : p.hashCode()); + result = prime * result + ((s == null) ? 0 : s.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + BigdataTriplePattern other = (BigdataTriplePattern) obj; + if (c == null) { + if (other.c != null) + return false; + } else if (!c.equals(other.c)) + return false; + if (o == null) { + if (other.o != null) + return false; + } else if (!o.equals(other.o)) + return false; + if (p == null) { + if (other.p != null) + return false; + } else if (!p.equals(other.p)) + return false; + if (s == null) { + if (other.s != null) + return false; + } else if (!s.equals(other.s)) + return false; + return true; + } } Modified: branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePatternMaterializer.java =================================================================== --- branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePatternMaterializer.java 2014-03-23 22:52:45 UTC (rev 8013) +++ branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/store/BigdataTriplePatternMaterializer.java 2014-03-24 01:34:33 UTC (rev 8014) @@ -24,7 +24,6 @@ */ package com.bigdata.rdf.store; -import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.concurrent.ArrayBlockingQueue; @@ -42,6 +41,7 @@ import com.bigdata.rdf.spo.ISPO; import com.bigdata.rdf.spo.SPOAccessPath; import com.bigdata.relation.accesspath.BlockingBuffer; +import com.bigdata.relation.accesspath.IAccessPath; import com.bigdata.striterator.AbstractChunkedResolverator; import com.bigdata.striterator.IChunkedOrderedIterator; import com.bigdata.util.concurrent.LatchedExecutor; @@ -241,8 +241,9 @@ * database.computeClosureForStatementIdentifiers( * database.getAccessPath(s, p, o, c).iterator()); */ - final SPOAccessPath ap = (SPOAccessPath) state.getAccessPath(stmt.getSubject(), - stmt.getPredicate(), stmt.getObject(), stmt.getContext()); + final IAccessPath<ISPO> ap = (IAccessPath<ISPO>) state.getAccessPath( + stmt.getSubject(), stmt.getPredicate(), + stmt.getObject(), stmt.getContext()); // if(ap.isFullyBoundForKey()) { // /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |