From: <mrp...@us...> - 2014-04-07 21:45:08
|
Revision: 8079 http://sourceforge.net/p/bigdata/code/8079 Author: mrpersonick Date: 2014-04-07 21:45:05 +0000 (Mon, 07 Apr 2014) Log Message: ----------- fixed SSSP CI errors Modified Paths: -------------- branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/IGASState.java branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/analytics/SSSP.java branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/impl/GASState.java branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/graph/impl/bd/BigdataGASState.java branches/RDR/bigdata-rdf/src/test/com/bigdata/rdf/graph/impl/bd/TestSSSP.java Modified: branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/IGASState.java =================================================================== --- branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/IGASState.java 2014-04-07 20:46:38 UTC (rev 8078) +++ branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/IGASState.java 2014-04-07 21:45:05 UTC (rev 8079) @@ -17,6 +17,7 @@ import java.util.Set; +import org.openrdf.model.Literal; import org.openrdf.model.Statement; import org.openrdf.model.URI; import org.openrdf.model.Value; @@ -176,6 +177,18 @@ Value getOtherVertex(Value u, Statement e); /** + * Return the link attribute, if there is one. + * + * @param u + * One end of the link. + * @param e + * The link. + * + * @return The other end of the link. + */ + Literal getLinkAttr(Value u, Statement e); + + /** * Return a useful representation of an edge (non-batch API, debug only). * This method is only required when the edge objects are internal database * objects lacking fully materialized RDF {@link Value}s. In this case, it Modified: branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/analytics/SSSP.java =================================================================== --- branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/analytics/SSSP.java 2014-04-07 20:46:38 UTC (rev 8078) +++ branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/analytics/SSSP.java 2014-04-07 21:45:05 UTC (rev 8079) @@ -396,11 +396,16 @@ final VS otherState = state.getState(other); + final Literal l = state.getLinkAttr(u, e); + final double edgeLength; - if (e.getObject() instanceof Literal) { + if (l != null) { - edgeLength = ((Literal) e.getObject()).doubleValue(); + if (log.isDebugEnabled()) + log.debug(l); + edgeLength = l.doubleValue(); + } else { edgeLength = EDGE_LENGTH; Modified: branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/impl/GASState.java =================================================================== --- branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/impl/GASState.java 2014-04-07 20:46:38 UTC (rev 8078) +++ branches/RDR/bigdata-gas/src/java/com/bigdata/rdf/graph/impl/GASState.java 2014-04-07 21:45:05 UTC (rev 8079) @@ -23,6 +23,7 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.log4j.Logger; +import org.openrdf.model.Literal; import org.openrdf.model.Resource; import org.openrdf.model.Statement; import org.openrdf.model.URI; @@ -411,6 +412,16 @@ return e.getSubject(); } + + /** + * This will only work for the BigdataGASState. + */ + @Override + public Literal getLinkAttr(final Value u, final Statement e) { + + return null; + + } @Override public boolean isEdge(final Statement e) { Modified: branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/graph/impl/bd/BigdataGASState.java =================================================================== --- branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/graph/impl/bd/BigdataGASState.java 2014-04-07 20:46:38 UTC (rev 8078) +++ branches/RDR/bigdata-rdf/src/java/com/bigdata/rdf/graph/impl/bd/BigdataGASState.java 2014-04-07 21:45:05 UTC (rev 8079) @@ -215,5 +215,39 @@ } + /** + * This will only work for the BigdataGASState. + */ + @Override + public Literal getLinkAttr(final Value u, final Statement e) { + + if (e.getObject() instanceof IV) { + + final IV iv = (IV) e.getObject(); + + if (iv.isLiteral()) { + + if (iv.isInline()) { + + return (Literal) iv; + + } else { + + return (Literal) iv.getValue(); + + } + + } + + } else if (e.getObject() instanceof Literal) { + + return (Literal) e.getObject(); + + } + + return null; + + } + } Modified: branches/RDR/bigdata-rdf/src/test/com/bigdata/rdf/graph/impl/bd/TestSSSP.java =================================================================== --- branches/RDR/bigdata-rdf/src/test/com/bigdata/rdf/graph/impl/bd/TestSSSP.java 2014-04-07 20:46:38 UTC (rev 8078) +++ branches/RDR/bigdata-rdf/src/test/com/bigdata/rdf/graph/impl/bd/TestSSSP.java 2014-04-07 21:45:05 UTC (rev 8079) @@ -69,13 +69,13 @@ // Converge. gasContext.call(); - assertEquals(0, gasState.getState(p.getMike()).dist()); + assertEquals(0.0, gasState.getState(p.getMike()).dist()); - assertEquals(1, gasState.getState(p.getFoafPerson()).dist()); + assertEquals(1.0, gasState.getState(p.getFoafPerson()).dist()); - assertEquals(1, gasState.getState(p.getBryan()).dist()); + assertEquals(1.0, gasState.getState(p.getBryan()).dist()); - assertEquals(2, gasState.getState(p.getMartyn()).dist()); + assertEquals(2.0, gasState.getState(p.getMartyn()).dist()); } finally { @@ -118,15 +118,15 @@ gasContext.call(); // check #of hops. - assertEquals(0, gasState.getState(p.getV1()).dist()); + assertEquals(0.0, gasState.getState(p.getV1()).dist()); - assertEquals(1, gasState.getState(p.getV2()).dist()); + assertEquals(1.0, gasState.getState(p.getV2()).dist()); - assertEquals(1, gasState.getState(p.getV3()).dist()); + assertEquals(1.0, gasState.getState(p.getV3()).dist()); - assertEquals(2, gasState.getState(p.getV4()).dist()); + assertEquals(2.0, gasState.getState(p.getV4()).dist()); - assertEquals(2, gasState.getState(p.getV5()).dist()); + assertEquals(2.0, gasState.getState(p.getV5()).dist()); } finally { @@ -176,15 +176,15 @@ gasContext.call(); // Check weighted distance. - assertEquals(0, gasState.getState(p.getV1()).dist()); + assertEquals(0.0, gasState.getState(p.getV1()).dist()); - assertEquals(100, gasState.getState(p.getV2()).dist()); + assertEquals(100.0, gasState.getState(p.getV2()).dist()); - assertEquals(100, gasState.getState(p.getV3()).dist()); + assertEquals(100.0, gasState.getState(p.getV3()).dist()); - assertEquals(125, gasState.getState(p.getV4()).dist()); + assertEquals(150.0, gasState.getState(p.getV4()).dist()); - assertEquals(125, gasState.getState(p.getV5()).dist()); + assertEquals(175.0, gasState.getState(p.getV5()).dist()); } finally { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |