|
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.
|