DownloadsBNFjavadocreadmeDocumentsDemosInstallationHow to make queriesKnown BugsSquish-dev archives |
How to...:In-memory queriesInkling uses the JDBC API. So to make a query do this (from AskTheWebTest.java):
/** specify the query */
public String query =
"SELECT ?x, ?l, ?c " +
"FROM file:rdf/Job.rdf " +
"WHERE " +
" (web::type ?x rdfs::Class) " +
" (rdfs::label ?x ?l) " +
" (rdfs::description ?x ?c) " +
"USING web FOR http://www.w3.org/1999/02/22-rdf-syntax-ns# " +
"rdfs FOR http://www.w3.org/2000/01/rdf-schema#";
java.sql.ResultSet results = null;
try {
/** download the urls */
RDFModelCore rdfdata = DownloadUrls.getUrlsFromQuery(query);
if (rdfdata != null && !((RDFGraph) rdfdata).isEmpty()) {
Driver inklingDriver = null;
java.sql.Connection conn = null;
try {
inklingDriver = new MemModelCoreDriver();
conn = ((InMemoryDriver) inklingDriver).connect(
rdfdata);
} catch (Exception e) {
System.out.println("Inkling: JDBC-RDF error: " + e);
e.printStackTrace();
}
/* make the query */
java.sql.Statement statement = conn.createStatement();
results = statement.executeQuery(query);
statement.close();
conn.close();
java.sql.DriverManager.deregisterDriver(inklingDriver);
}//end if
/* loop through the result */
while (results.next()) {
count++;
Enumeration fields = pq.variables.elements();
while (fields.hasMoreElements()) {
String varname = (String) fields.nextElement();
String value = (String) results.getString(varname);
System.out.println(" " + varname + " = " + value);
}
System.out.println("\n");
}//end while
}
catch (Exception e) {
System.err.println("Inkling: RDF query exception: " + e);
e.printStackTrace();
}
SQL queriesInkling uses the JDBC API. So to make a query do this (from AskTheWebTest.java):
/** specify the query */
public String query =
"SELECT ?x, ?l, ?c " +
"FROM file:rdf/Job.rdf " +
"WHERE " +
" (web::type ?x rdfs::Class) " +
" (rdfs::label ?x ?l) " +
" (rdfs::description ?x ?c) " +
"USING web FOR http://www.w3.org/1999/02/22-rdf-syntax-ns# " +
"rdfs FOR http://www.w3.org/2000/01/rdf-schema#";
/* specify the SQL datbase url *?
String databaseUrl =
"rdf:jdbc:postgresql://localhost:5432/test?auth=password&user=postgres&password=notneeded";
Vector urls = DownloadUrls.getAndReturnUrlsFromQuery(query);
/* insert into the database */
Enumeration er = urls.elements();
while (er.hasMoreElements()) {
String url = (String) er.nextElement();
Scutter scut = new Scutter();
scut.insertData(url, databaseUrl);
}
java.sql.ResultSet results1 = null;
try {
Driver inklingDriver = null;
java.sql.Connection conn = null;
try {
inklingDriver = new ModelCoreDriver();
conn = java.sql.DriverManager.getConnection(databaseUrl);
} catch (Exception e) {
System.out.println("Inkling: JDBC-RDF error: " + e);
}
/* make the query */
java.sql.Statement statement = conn.createStatement();
results1 = statement.executeQuery(query);
statement.close();
conn.close();
java.sql.DriverManager.deregisterDriver(inklingDriver);
SquishParser pq = SquishParser.parse(query);
/* loop through the results */
while (results1.next()) {
count++;
Enumeration fields = pq.variables.elements();
while (fields.hasMoreElements()) {
String varname = (String) fields.nextElement();
String value = (String) results1.getString(varname);
System.out.println(" " + varname + " = " + value);
}
System.out.println("\n");
}//end while
}
catch (Exception e) {
System.err.println("Inkling: RDF query exception (SQL): " + e);
e.printStackTrace();
}
|