## Store description for the simple (non-performant) database layout

@prefix rdfs:	  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja:       <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix sdb:      <http://jena.hpl.hp.com/2007/sdb#> .

_:c rdf:type sdb:SDBConnection ;
    sdb:sdbType        "sap" ;
    sdb:sdbHost        "localhost" ;
    sdb:sdbName        "00" ;
#    sdb:driver         "com.sap.db.jdbc.Driver" ;
    .

[] rdf:type sdb:Store ;
    sdb:layout         "layout1" ;
    sdb:connection     _:c ;
    sdb:storage        "column" ;
.
