package org.mitre.provenance.asias;
import java.util.Iterator;
import org.mitre.provenance.client.RESTProvenanceClient;
import org.mitre.provenance.plusobject.*;
/**
* @author piekut
* Simple call to http://localhost:8080/plus/api/graph/search/{query:.*} via RESTProvenanceClient,
* which corresponds to method search() in DAGServices.java
*/
public class Test_ExecuteCypherQuery {
public static void main(String [] args) throws Exception {
RESTProvenanceClient client = new RESTProvenanceClient("localhost", "8080");
// Edit this string to produce different results. Must be valid Cypher query!
String query = "MATCH (n:Provenance {name: \"tt-upgrade\"}) return n;";
ProvenanceCollection queryMatchResults = client.query(query);
// print collection info, save to disk.
System.out.println("Collection matching Cypher query: " + query);
System.out.println(" # nodes= " + queryMatchResults.getNodes().size() + ": ");
Iterator<PLUSObject> nodeIt = queryMatchResults.getNodes().iterator();
while (nodeIt.hasNext()) {
PLUSObject o = nodeIt.next();
System.out.println(" OID: " + o.getId());
}
System.out.println(" # provenance edges= " + queryMatchResults.getEdges().size() + ": ");
System.out.println(" # non-prov edges= " + queryMatchResults.getNonProvenanceEdges().size() + ": ");
System.out.println("Done!");
System.exit(0);
} // End main
}