You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/04/06 11:06:46 UTC
svn commit: r931055 - in
/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test:
RandomGraph.java RandomMGraph.java
Author: mir
Date: Tue Apr 6 09:06:46 2010
New Revision: 931055
URL: http://svn.apache.org/viewvc?rev=931055&view=rev
Log:
in RandomMGraph: added methods to add and remove a random triple. added commets
Added:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomMGraph.java
- copied, changed from r931044, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomGraph.java
Removed:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomGraph.java
Copied: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomMGraph.java (from r931044, incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomGraph.java)
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomMGraph.java?p2=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomMGraph.java&p1=incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomGraph.java&r1=931044&r2=931055&rev=931055&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomGraph.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.rdf.core.test/src/main/java/org/apache/clerezza/rdf/core/test/RandomMGraph.java Tue Apr 6 09:06:46 2010
@@ -31,27 +31,38 @@ import org.apache.clerezza.rdf.core.impl
import org.apache.commons.lang.RandomStringUtils;
/**
- * A <code>MGraph</code> wrapper that allows randomly growing and shrinking of
+ * A <code>MGraph</code> wrapper that allows growing and shrinking of
* the wrapped mgraph.
*
* @author mir
*/
-public class RandomGraph extends MGraphWrapper {
- private int growthSpeed = 3;
+public class RandomMGraph extends MGraphWrapper {
+
private int interconnectivity = 2;
- public RandomGraph(MGraph mGraph) {
+ public RandomMGraph(MGraph mGraph, int interconnectivity) {
super(mGraph);
+ this.interconnectivity = interconnectivity;
}
- public RandomGraph(int growthSpeed, int interconnectivity, MGraph mGraph) {
+ /**
+ * Creates a new random mutual graph.
+ *
+ * @param initialSize Determines the initial size of the content graph
+ * @param interconnectivity Determines the probability of using already existing
+ * resource when creating a new triple. The probability of using an existing
+ * resource over creating a new resouce is 1-(1/interconnectivity).
+ * @param mGraph
+ */
+ public RandomMGraph(int initialSize, int interconnectivity, MGraph mGraph) {
super(mGraph);
- if (growthSpeed <= 0 || interconnectivity <= 0) {
+ if (interconnectivity <= 0) {
throw new IllegalArgumentException("growth speed and the interconnectivity "
+ "value have to be equals or highter one");
}
- this.growthSpeed = growthSpeed;
this.interconnectivity = interconnectivity;
+
+ setupInitialSize(initialSize);
}
/**
@@ -61,7 +72,7 @@ public class RandomGraph extends MGraphW
*/
public Triple evolve() {
Triple triple;
- int random = rollDice(growthSpeed);
+ int random = rollDice(2);
if (random == 0 && size() != 0) {
triple = getRandomTriple();
remove(triple);
@@ -71,14 +82,39 @@ public class RandomGraph extends MGraphW
}
return triple;
}
+
+ /**
+ * Removes a random triple.
+ *
+ * @return the triple that was removed.
+ */
+ public Triple removeRandomTriple() {
+ Triple randomTriple = getRandomTriple();
+ remove(randomTriple);
+ return randomTriple;
+ }
+
+ /**
+ * Adds a random triple.
+ *
+ * @return the triple that was added.
+ */
+ public Triple addRandomTriple() {
+ Triple randomTriple;
+ do {
+ randomTriple = createRandomTriple();
+ } while(contains(randomTriple));
+ add(randomTriple);
+ return randomTriple;
+ }
+
private Triple createRandomTriple() {
return new TripleImpl(getSubject(), getPredicate(), getObject());
}
private NonLiteral getSubject() {
int random = rollDice(interconnectivity);
- System.out.println("---->" + random);
if (size() == 0) {
random = 0;
}
@@ -176,7 +212,7 @@ public class RandomGraph extends MGraphW
}
/**
- * Returns a random triple.
+ * Returns a random triple contained in the MGraph.
*/
public Triple getRandomTriple() {
int size = this.size();
@@ -192,4 +228,10 @@ public class RandomGraph extends MGraphW
}
return getRandomTriple();
}
+
+ private void setupInitialSize(int initialSize) {
+ for (int i = 0; i < initialSize; i++) {
+ addRandomTriple();
+ }
+ }
}