- From: Dirk-Willem van Gulik <dirkx@webweaving.org>
- Date: Tue, 31 Aug 2004 07:03:48 -0700 (PDT)
- To: Kendall Clark <kendall@monkeyfist.com>
- cc: "Seaborne, Andy" <andy.seaborne@hp.com>, Alberto Reggiori <alberto@asemantics.com>, RDF Data Access Working Group <public-rdf-dawg@w3.org>
> it's safe to say that the WG has been assuming (?) that we'd use > HTTP. I am sure that HTTP will play an increasingly large role. But at the same time I fully expect the existing legacy to be with us for quite a while; and us to have a hybrid where we talk some SWQL which depending on the configs goes out over the wire as HTTP -or- hooks into some "shared memory fancy whatever dirty trick those SQL people have had 15 years to refine". > If it's really that easy If you want to give it a spin; take postgress; hook in one of the flavours of RDQL and then go into your favourite editor/IDE from your favourite language and give it a go. Or alternatively take just the protocol decoder (some 350 lines of Java or around 50 lines of perl and hook it up). Dw. # perl -- asemantics.com -- against news.asemantics.com use DBI; $dbh = DBI->connect("dbi:Pg:dbname=test;host=burly;port=5555","meagain","") or die $!; $sth=$dbh->prepare("select ?x,?y,?z from dbms://localhost/test where (?x,?y,?z)") or die $!; $sth->execute() or die $!; while ( $row = $sth->fetchrow_hashref) { foreach $k (keys %{ $row }) { print "$k: $row->{$k}\n"; }; print "====\n\n"; } import java.sql.*; /* License: * * Copyright abandoned 2001 by Marc Liyanage * Do with this whatever you want. * * Original at http://www.entropy.ch/software/macosx/postgresql/TestPostgreSQL.java */ public class TestPostgreSQL { public static void main(String argv[]) throws Exception { Class.forName("org.postgresql.Driver"); // 5555 is the non default port for our perl // deamon. we must use 'localhost' to make sure // that the unix domain socket is NOT used. // Connection conn = DriverManager.getConnection( "jdbc:postgresql://localhost:5555/test", "anything-anyusername", "" ); Statement stmt = conn.createStatement(); // ResultSet rset = stmt.executeQuery("SELECT * FROM foo;"); ResultSet rset = stmt.executeQuery( "SELECT "+ " ?title, ?link "+ "FROM "+ " <http://xmlhack.com/rss10.php> "+ "WHERE "+ " (?item, <rdf:type>, <rss:item>), "+ " (?item, <rss::title>, ?title), "+ " (?item, <rss::link>, ?link) "+ "USING "+ " rdf for <http://www.w3.org/1999/02/22-rdf-syntax-ns#>, "+ " rss for <http://purl.org/rss/1.0/> " ); ResultSetMetaData rsm = rset.getMetaData(); int numCols = rsm.getColumnCount(); // Print out all rows. // while (rset.next()) { // and in each row print the collumn names too. // for(int i=1; i <= numCols; i++) System.out.println( rsm.getColumnLabel(i)+":\t"+rset.getString(i) ); System.out.println("===\n"); } // Close result set, statement and DB connection // rset.close(); stmt.close(); conn.close(); } }
Received on Tuesday, 31 August 2004 14:15:58 UTC