Problem solved (thanks to a good RTM session). The mapping should have been:
sparql prefix testrdfview: <http://www.nowhere.com/testrdfview/#> create quad storage testrdfview:graph from "testrdfview"."DBA"."vehicle" as vehicle_tbl { create testrdfview:qm-vehicle as graph iri("http:// ^{URIQADefaultHost}^/testrdfview#") { testrdfview:vehicle (vehicle_tbl."id") a testrdfview:vehicle ; testrdfview:vehicle_id vehicle_tbl.id as testrdfview:dba-vehicle-id ; testrdfview:vehicle_name vehicle_tbl.vehicleName as testrdfview:dba-vehicle-name . } } ; Apparently mapping is only possible if the primary key is mapped as one of the triples. :) Thanks, Jess On Thu, Mar 25, 2010 at 4:30 PM, Jesse Sightler <[email protected]>wrote: > I am continuing to evaluate the RDF View mapping capabilities of Virtuoso. > The whitepaper on the subject is useful, but I'm still having issues > manually generating a mapping (needed in our case, as we want to match a > specific vocabulary). > > Given a sample table: > > create table "testrdfview"."DBA"."vehicle" > ( > "id" INTEGER, > "manufacturer_id" INTEGER, > "vehicleName" VARCHAR(255), > PRIMARY KEY ("id") > ); > > > with data: > > insert into "testrdfview"."DBA"."vehicle" (id, manufacturer_id, vehicleName) > values (1,1,'S2000'); > > insert into "testrdfview"."DBA"."vehicle" (id, manufacturer_id, vehicleName) > values (1,1,'Accord'); > > > And the following mappings: > > sparql > > prefix testrdfview: <http://www.nowhere.com/testrdfview/#> > > create iri class testrdfview:vehicle > "http://^{URIQADefaultHost}^/testrdfview/vehicle/id/%d#this" (in _id integer > not null) . ; > > sparql > > prefix testrdfview: <http://www.nowhere.com/testrdfview/#> > create quad storage testrdfview:graph > from "testrdfview"."DBA"."vehicle" as vehicle_tbl > { > create testrdfview:qm-vehicle as graph > iri("http://^{URIQADefaultHost}^/testrdfview#") > { > testrdfview:vehicle (vehicle_tbl."id") a testrdfview:vehicle ; > testrdfview:vehicle_name vehicle_tbl.vehicleName as > testrdfview:dba-vehicle-name . > } > } > ; > > > However, running a query against the expected graph > (http://localhost:8890/testrdfview#) with this sparql returns no results: > > select * { ?s ?p ?o } > > > A select statement on the underlying database via SQL does return results. > Am I overlooking something obvious in the design of this mapping? > > > Thanks, > > Jess > > >
