String queryString = "SELECT DISTINCT ?subject ?predicate ?object " +
"WHERE { ?subject ?predicate ?object. " +
"FILTER regex(?object, \"" +keywords+ "\", \"i\" ) } " +
"ORDER BY ?subject";
SparqlQueryInfo query = new SparqlQueryInfo();
query.setQuery(queryString);
query.setFormat("html-frag");
enable(false);
resultsPanel.searching();
AsyncCallback<SparqlQueryResult> callback = new AsyncCallback<SparqlQueryResult>() {
public void onFailure(Throwable exception) {
enable(true);
String error = exception.getMessage();
Orr.log("Search failure: " + error);
resultsPanel.error(error);
}
public void onSuccess(SparqlQueryResult result) {
enable(true);
if ( result.getError() != null ) {
String error = result.getError();
Orr.log("Search error: " + error);
resultsPanel.error(error);
}
else {
String[] kwArray = keywords.split("\\|");
if ( kwArray.length > 1 ) {
for ( String kw : kwArray ) {
oracle.add(kw);
}
}
oracle.add(searchString);
resultsPanel.setHtml(result.getResult());
}
}
};
Orr.log("Searching. query: " +query.getQuery());
Orr.service.runSparqlQuery(query, callback);
}