# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0

@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#> .

<#store> rdf:type sdb:Store ;
    sdb:layout         "layout2/hash" ;
    sdb:connection     <#conn> ;
.

<#conn> rdf:type sdb:SDBConnection ;

    sdb:sdbType        "oracle" ;
    sdb:sdbHost        "localhost" ;
    sdb:sdbName        "XE" ;       # Oracle SID
    sdb:driver         "oracle.jdbc.driver.OracleDriver" ;

    # With OracleXE, it can be useful to use the user/password
    # to give multiple stores in the same installation.
    sdb:sdbUser        "DB" ;
    sdb:sdbPassword    "password" ;
    .
