Jena adaptor doesn't use ID column in model _TPL table

The Oracle semantic technology developers guide, recommends that the triple table for an RDF model have at least 2 columns, an ID column with values from a sequence, and a triple column. The Jena adaptor creates a table with only a triple column. This isn't consistent with recommended practice from the manual, and could be a problem for other software that expects this column. I'm not exactly sure what purpose the ID column serves except to distinguish mutiple copies of the same triple.
Is it possible to configure the adaptor to do this?
Currently I'm modifying my other software to conform to the Oracle RDF configuration that Jena prefers, but that might be a problem somewhere down the line.

I don't think that ID column is recommended. The dev guide shows an application example with an ID column. It does not mean (or say) it is a recommended practice.
For Jena Adaptor, one TRIPLE column is sufficient. An additional ID column does not provide additional value for the Jena functions provided.
Cheers,
Zhe Wu

Similar Messages

  • Constructing Calculated Measures in MDX for different measures using same columns in a fact table

    Hello,
    i have a fact table with 2 columns corresponding to dimensions Dim1, Dim2. In the same table i have 4 other columns Value_Type(int), INT_VALUE(int), FLOAT_VALUE(float), TEXT_VALUE(string). There are a number of measures which are identified by Value_Type and
    depending on their nature could be written in one of the 3 columns (INT_VALUE(int), FLOAT_VALUE(float), TEXT_VALUE(string)) Let's say Measure1 with Measure_Type=1 is age, 2 is account balance and 3 is Name for clarity. There could be other measure types that
    use these 3 same columns for data. So the sample fact table looks like this
    Dim1 Dim2 Measure_Type INT_VALUE FLOAT_VALUE TEXT_VALUE
    10 10 1 25
    10 10 2 2000,34
    10 10 3 John
    10 20 1 28
    10 20 2 3490,23
    10 20 3 Frank
    My task is to write an MDX query for each Dim1, Dim2 combination which returns all 3 measures in the same row. The idea is to construct a calculated member for each Measure that returns value from the right field. For example for Measure1 we take INT_VALUE
    with measure_type=1. The problem is i don't know how to construct MDX query for these calculated members. Can you please help me?
    So my final goal is to write an MDX query that returns all measures in one row for each set of Dim1, Dim2
    SELECT [Measure1], [Measure2], [Measure3] ON COLUMNS,
    NON EMPTY [Dim1].[Dim1].[Dim1].Members*[Dim2].[Dim2].[Dim2].Members ON ROWS
    FROM [Cube]
    Dim1 Dim2 Measure1 Measure2 Measure3
    10 10 25 2000,34 John
    10 20 28 3490,23 Frank

    Hi Kosmipt,
    I would combine the "INT_VALUE", "FLOAT_VALUE" and "TEXT_VALUE" columns into one with STRING data type for the fact table. And there should be one dimension to store the Measure_Type informations. Then in cube, you can write MDX scope for every one of
    "Measure_Type" dimension members. For example,
    scope(
                [Measures].[M]
        [DimMType].[MType].&[1]= CINT([Measures].[M]);                                                                                                                             
    end scope;
    Once the cube is built by the above way, you can write MDX like something like the following to achieve your purpose.
    WITH member [Measures].[Measure1] AS ([DimMType].[MType].&[1],[Measures].[M])
             member [Measures].[Measure2] AS ([DimMType].[MType].&[2],[Measures].[M])
             member [Measures].[Measure3] AS ([DimMType].[MType].&[3],[Measures].[M])
    thanks,
    Jerry

  • How can I do a Header Group Using Group columns for WD ALV tables

    Hi
    I want to group columns into a header group.
    Eg:
                       from Date
    Availability
                       to date
    Any ideas if it is possible with WD ALV tables?

    Hi,
    Try to use the if_salv_wd_field_settings for the column grouping of the Model object.
    Also check the class CL_SALV_WD_FIELD.
    Regards,
    Lekha.

  • SPARQL query through Jena adaptor not work when string literals used

    Hi,
    When I executed the following SPARQL query through Oracle Jena adaptor:
    SELECT ?personHasFirstName WHERE
    {?personHasFirstName foaf:firstName ?name . }
    I got the expected results.
    However it won't return anything when I narrowed the query to match a particular name like below:
    SELECT ?personHasFirstName WHERE
    {?personHasFirstName foaf:firstName \"Julie\" . }
    I also tried the Filter approach:
    SELECT ?personHasFirstName WHERE {?personHasFirstName foaf:firstName ?name . FILTER (?name =\"Julie\") }
    It still doesn't return any results.
    I saw from the release notes about the bug dealing with "\". My guess is that the above behavior is caused by that bug. What is the suggested way to walk-around this? Thanks,
    Weihua

    Could you please try this? It works as expected on my machine.
    GraphOracleSem graph = new GraphOracleSem( oracle, modelName);
    ModelOracleSem model = new ModelOracleSem(graph);
    Node sub = Node.createURI("http://test.com/employee123");
    Node pre = Node.createURI("http://xmlns.com/foaf/0.1/firstName");
    Node obj = Node.createLiteral("Julie");
    graph.add(Triple.create(sub, pre, obj));
    String queryString =
    " PREFIX foaf: <http://xmlns.com/foaf/0.1/> " +
    "SELECT ?person WHERE { ?person foaf:firstName \"Julie\" . } ";
    QueryExecution qexec = QueryExecutionFactory.create(
    QueryFactory.create(queryString), model);
    try {
    ResultSet results = qexec.execSelect();
    while (results.hasNext()) {
    QuerySolution soln = results.nextSolution();
    psOut.println("runQuery: soln " + soln);
    finally {
    if (qexec != null)
    qexec.close();
    output snippet:
    runQuery: soln ( ?person = <http://test.com/employee123> )

  • One Tip on using Oracle Jena Adaptor

    To run Oracle Jena Adaptor smoothly, we recommend using the java executable under
    $ORACLE_HOME/jdk/bin
    and including in your classpath the JDBC library, ojdbc5.jar, under
    $ORACLE_HOME/jdbc/lib

    It appears like the readme.txt is not included in the zip file kept at the down location. Can you verify this please?
    Thanks,
    Rajesh.

  • Oracle Jena Adaptor

    We are pleased to announce the availability of the Oracle Jena Adaptor, that will enable the use of the Jena framework with Oracle RDF. Jena is an Open Source framework developed by Hewlett-Packard and is available under a BSD-style license; see http://jena.sf.net for details.
    The Jena adaptor software implements the well-known Jena Graph and Model APIs. It extends the capabilities of Oracle semantic data management (Oracle 10gR2 RDF and Oracle 11gR1 RDF/OWL) with a set of easy-to-use Java APIs. Enhancements have been done to the server side to accommodate those APIs.
    You can download the Oracle Jena Adaptor by visitng the Oracle Semantic Technologies page at http://www.oracle.com/technology/tech/semantic_technologies/index.html and clicking on 'Software' in the column on the right.
    Melli Annamalai
    Oracle Database Semantic Technologies

    It appears like the readme.txt is not included in the zip file kept at the down location. Can you verify this please?
    Thanks,
    Rajesh.

  • MS SQL query slow using view column as criteria

    HI,
    I am experiencing a very frustrate problem. I have 2 tables, and create a view
    to union these 2 tables, when do a select on this view using the column of the
    view as criteria is took more 1 minutes, but the query runs fine in Qurey Analyzer.
    Anybody has the same experience? is this the problem with jdbc?

    I searched http://e-docs.bea.com/wls/docs70/index.html, also searched the documentation
    for wls6.1, wls5.1. As you pointed I searched support site, they are all the customer
    case, it's not formal documentation.
    Joe Weinstein <[email protected]> wrote:
    >
    >
    jen wrote:
    Thanks. but I search on the table is fine (the same column). is thereany db setting
    could be tuned? so the view is the problem? No, it's a client decision/issue. If you defined your tables to have
    nvarchar columns
    the jdbc driver's parameter values would be fine as-is.
    I searched "useVarChars" on whole
    site and can't find anything.Which site? This is a property of the weblogic.jdbc.mssqlserver4.Driver.
    I just went to www.bea.com/support and entered useVarChars in the Ask
    BEA
    question panel and got hits...
    Joe
    Joe Weinstein <[email protected]> wrote:
    Jen wrote:
    Sorry it's my bad. I am testing on wls81, but the problems is on wls70,so they
    are using different drivers.
    You are the magic man. It worked on wls81 now. I am sure it will curethe problem
    on wls70. Is there any documentation on this? Why it is not a problemon some
    databse server? ThanksSure. The issue has to do with the MS client-DBMS protocol having evolved
    from
    an 8-bit (7-bit really) character representation. Now it has a newer
    16-bit
    way, to transfer NVARCHAR data. Java characters are all 16-bit, so
    by default
    a JDBC driver will send Java parameters over as NVARCHAR data. This
    is
    crucial
    for Japanese data etc. However, once simple ASCII data is transformed
    to an
    NVARCHAR format, the DBMS can't directly compare it to varchar data,
    or use it
    in index searches. The DBMS has to convert the VARCHAR data to NVARCHAR,
    but it
    can't guarantee that the converted data will retain the same ordering
    as the index,
    so the DBMS has to do a table scan!
    The properties I suggested are each driver's way of allowing you
    to say "I'm
    a simple American ;) I am using simple varchar data so please sendmy
    java
    strings that way.". This allows the DBMS to use your varchar indexes
    in queries.
    Joe Weinstein at BEA
    Joe Weinstein <[email protected]> wrote:
    Jen wrote:
    It doesn't cure the problem. Here is my pool
    <JDBCConnectionPool DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"Name="test_pool"
    Password="{3DES}fKSovViFe5kHzl/vTs0LVQ==" Properties="user=user;PortNumber=1543;useVarChars=true;ServerName=194.20.2.10;DatabaseName=devDB"
    Targets="admin" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"URL="jdbc:bea:sqlserver://194.20.2.10:1543"/>
    Strange is some database is fine.Oh, sorry. I thought it was the older weblogic driver. Change the
    useVarChars=true to sendStringParametersAsUnicode=false
    Let me know... Also, I suggest changing the TestTableName to "SQL
    select
    1".
    For MS, that will be much more efficient than involving a full count
    of sysobjects!
    Joe
    Joe Weinstein <[email protected]> wrote:
    Jen wrote:
    You are right. Tadaa! Am I Kreskin, or what? ;) Here's what I recommend:
    In your pool definition, for this driver add a driver property:
    useVarChars=true
    and let me know if it's all better.
    Joe
    I am using weblogic jdbc driver weblogic.jdbc.mssqlserver4.Driver.
    here is the code:
    getData(Connection connection, String stmt, ArrayList arguments)
         PreparedStatement pStatement=null;>>>>>>>>     ResultSet resultSet=null;>>>>>>>>     try {>>>>>>>>         pStatement = connection.prepareStatement(stmt);>>>>>>>>         for (int i = 1; i <= arguments.size(); i++) {>>>>>>>>          pStatement.setString(i, (String) arguments.get(i-1));>>>>>>>>                    resultSet = pStatement.executeQuery(); //this statement takesmore than 1
    min.
    Joe Weinstein <[email protected]> wrote:
    Jen wrote:
    HI,
    I am experiencing a very frustrate problem. I have 2 tables,
    and
    create
    a view
    to union these 2 tables, when do a select on this view using
    the
    column
    of the
    view as criteria is took more 1 minutes, but the query runs
    fine
    in
    Qurey Analyzer.
    Anybody has the same experience? is this the problem with jdbc?
    I have suspicions... Show me the jdbc code. I'm guessing it's
    a
    PreparedStatement,
    and you send the search criterion column value as a parameter
    you
    set
    with a
    setString().... Let me know... (also let me know which jdbc driveryou're
    using).
    Joe

  • Why can't I use the Column Browser for my iPod when connected to the computer?

    In iTunes 11, I can use the Column Browser while viewing my music library on the computer.  But it's inexplicably not available for viewing the music on my iPod when it's connected to the computer to sync.
    The Column Browser is the simplest, easiest, most elegant way for me to review what's on my iPod, and create Playlists from my music and CD books.  It was available in 10.7 and is available on the computer, why not the iPod????!!!???
    Why mess around changing something that isn't broken - after all these years why can't that option still be available?  It doesn't have to be the default, just be available. Will I have to downgrade to 10.7 yet again????
    And you don't even have a relevant category for me to choose from below!!  It makes sense to me that you provide a general "Using iTunes" category.

    Thanks for your reply, but I've already done that and the Column Browser options are completely grayed out.  I've taken a screen shot and hope I can paste it in here.  You'll see I have the sidebar open.  That's the way I prefer to deal with iTunes.
    This happened after I updated to iTunes 11.0.4.  Perhaps that changed the setting options. I think I had the Column Browser option prior to that, but I just got a new iPod and I was busy loading stuff, so not completely sure if it worked before the update.  But I think I would have noticed, because it bugs me so much not to have the option.

  • What kind of VGA adaptor do I use with my ibook G4?, What kind of VGA adaptor do I use with my ibook G4?

    I bought a VGA adaptor wire for my Mac ibook G4, but it doesn't fit my port.  What kind of VGA adaptor do I use?

    Hi, and welcome to Apple Support Community.
    You need the Apple VGA Display Adapter. This is for video-out to an external display. It will not get you the audio.
    If you want video out to a TV, it will require a different adapter.
    https://discussions.apple.com/docs/DOC-1908

  • Toplink Essentials JPA doesn't use GenerationType.IDENTITY

    Based on EJB 3 and JPA I want to store some entities (@Entity) in a database. For some of those entites the database auto increments the primary key. In these cases I defined a @TableGenerator and a @GeneratedValue using GenerationType.IDENTITY as strategy in order to get the primary key (@Id) updated after the entity has been persisted.
    Short example:
    @Entity
    @Table(name = "orders")
    public class POrder implements PEntity {
         @TableGenerator(name = "orderIdGenerator", initialValue = 0, allocationSize = 1)
         @Id
         @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "orderIdGenerator")
         @Column(name = "orderNumber", nullable = false)
         private Integer orderNumber;
    ...I am running the application on GlassFish. I added a corresponding JDBC resource to the server configuration, using the specific MySql driver interfaces.
    Persisting entities which doesn't use a TableGenerator works, but as soon as I try to persist an entity which should use a TableGenerator I am running in the following exception:
    beergame.server.exception.BeergameServerException: nested exception is: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.1 (Build b55-fcs (10/10/2008))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'beergame3.sequence' doesn't exist
    Error Code: 1146
    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
         bind => [1, roleIdGenerator]
    Query: DataModifyQuery()
    Local Exception Stack:
    Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.1 (Build b55-fcs (10/10/2008))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'beergame3.sequence' doesn't exist
    Error Code: 1146
    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
         bind => [1, roleIdGenerator]
    Query: DataModifyQuery()
         at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:311)
         at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:654)
         at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:703)
         at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:492)
         at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:452)
         at oracle.toplink.essentials.internal.sessions.AbstractSession.executeCall(AbstractSession.java:690)
         at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228)
         at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:214)
         at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:257)
         at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:237)
         at oracle.toplink.essentials.queryframework.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:86)
         at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:628)
         at oracle.toplink.essentials.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:1845)
         at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:952)
         at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:924)
         at oracle.toplink.essentials.sequencing.QuerySequence.update(QuerySequence.java:344)
         at oracle.toplink.essentials.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:283)
         at oracle.toplink.essentials.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:96)
         at oracle.toplink.essentials.sequencing.Sequence.getGeneratedVector(Sequence.java:281)
         at oracle.toplink.essentials.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:420)
         at oracle.toplink.essentials.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:846)
         at oracle.toplink.essentials.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:110)
         at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:240)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:355)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:3266)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:432)
         at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:3226)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.persist(EntityManagerImpl.java:221)
         at com.sun.enterprise.util.EntityManagerWrapper.persist(EntityManagerWrapper.java:440)
         at beergame.server.model.trans.impl.TExtensionOfPEntityImpl.persist(TExtensionOfPEntityImpl.java:130)
         at beergame.server.model.trans.impl.TRoleImpl.<init>(TRoleImpl.java:61)
         at beergame.server.logic.trans.impl.GameLogicImpl.assignUserToValueChainLevel(GameLogicImpl.java:81)
         at beergame.server.logic.remote.impl.UserSessionBean.createGame(UserSessionBean.java:65)
    I wonder why a sequence table has to be update whereas IDENTITY is defined as strategy. I tried also AUTO as strategy but it doesn' matter, the result is the same.
    I read several posts in forums, but couldn't find a solution. So I still have no idea how to get IDENTITY used as strategy. Any one of you does?
    My configuration:
    IDE: Eclipse 3.4.0
    Server: GlassFish V2 Java EE 5
    JPA Implementation: Toplink Essentials v2.1-b55
    JPA driver: oracle.toplink.essentials.PersistenceProvider
    Database: MySQL 5.0.51a
    JDBC driver: mysql-connector-java-5.1.5

    I did it. I must admit, I was a little bit confused by the annotation TableGenerator. It is not responsible for generating ids of a table at all but only in conjunction with a table which should provide ids.
    After I removed @TableGenerator and also the corresponding reference within @GeneratedValue the persistence works as expected. Now the code looks like this:
    @Entity
    @Table(name = "orders")
    public class POrder implements PEntity {
         @Id
         @GeneratedValue(strategy = GenerationType.IDENTITY)
         @Column(name = "orderNumber", nullable = false)
         private Integer orderNumber;
    ...Edited by: TomCat78 on Oct 12, 2008 3:38 PM

  • Jena adaptor and sqlldr

    Hi,
    I am trying jena adaptor API. I succeeded in different kind of loading. I would like to know if it is the same tool that this api uses. Mainly, I wonder if the bulk loader uses a stage table and sqlldr like we directly use it in oracle .
    Thanks for your precision,
    Dacko

    Actually, we don't want you to worry about the underlying machinery :)
    When you use the Jena Adaptor's addInBatch API, then we use batch loading capabilities through JDBC.
    When you use the Jena Adaptor's addInBulk API, then we create, through JDBC, staging table, populate it and also a separate table for long literals, invoke bulk loader, and finally add those triples with long literals. As you can see, there is no SQLLoader involved.*
    Hope it helps,
    Zhe Wu

  • Two problems in BSBM benchmark of Oracle 10g with Jena Adaptor 2.0

    Hi, all.
    I'm proceeding BSBM benchmark for Oracle 10g with Jena Adaptor 2.0.
    I'm using the codes that were introduced in Jena Adaptor 2.0 guide document, and I've applied Jena patches to Oracle 10g (10.2.0).
    But, two problems are occured in benchmark process.
    The first problem is
         that 250k dataset(consisted of 250030 triples) loading time elapses over several hours, (See below code snippet.)
    and the other is
         that exceptions are occured in some sparql query execution.
    I used below queries which have no error in query syntax.
    I confirmed that through other benchmark tests.
    In case of oracle benchmark test, quey1 is ok. but, query2 makes exception.
    Please, look about the Exception message below.
    What should I do for getting much better benchmark result?
    I appreciate any help or any hint.
    Best regards ~
    ### Query 1 ###
    PREFIX bsbm-inst: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/>
    PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    SELECT DISTINCT ?product ?label
    WHERE {
    ?product rdfs:label ?label .
    ?product a <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductType18> .
    ?product bsbm:productFeature <http://www4.wiwiss.fu-
    berlin.de/bizer/bsbm/v01/instances/ProductFeature833> .
    ?product bsbm:productFeature <http://www4.wiwiss.fu-
    berlin.de/bizer/bsbm/v01/instances/ProductFeature61> .
    ?product bsbm:productPropertyNumeric1 ?value1 .
         FILTER (?value1 > 136)
    ORDER BY ?label
    LIMIT 10
    ### Query 2 ###
    PREFIX bsbm-inst: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/>
    PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX dc: <http://purl.org/dc/elements/1.1/>
    SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?
    propertyTextual3
    ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4
    WHERE {
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    rdfs:label ?label .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    rdfs:comment ?comment .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:producer ?p .
    ?p rdfs:label ?producer .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    dc:publisher ?p .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:productFeature ?f .
    ?f rdfs:label ?productFeature .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:productPropertyTextual1 ?propertyTextual1 .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:productPropertyTextual2 ?propertyTextual2 .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:productPropertyTextual3 ?propertyTextual3 .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:productPropertyNumeric1 ?propertyNumeric1 .
    <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536>
    bsbm:productPropertyNumeric2 ?propertyNumeric2 .
    OPTIONAL { <http://www4.wiwiss.fu-
    berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536> bsbm:productPropertyTextual4 ?
    propertyTextual4 }
    OPTIONAL { <http://www4.wiwiss.fu-
    berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536> bsbm:productPropertyTextual5 ?
    propertyTextual5 }
    OPTIONAL { <http://www4.wiwiss.fu-
    berlin.de/bizer/bsbm/v01/instances/dataFromProducer11/Product536> bsbm:productPropertyNumeric4 ?
    propertyNumeric4 }
    ### Exception Message (in query 2 execution) ###
    Exception in thread "main" java.sql.SQLException: ORA-00936: missing expression
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe
    (T4CPreparedStatement.java:799)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1038)
    at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe
    (T4CPreparedStatement.java:839)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1133)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal
    (OraclePreparedStatement.java:3285)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery
    (OraclePreparedStatement.java:3329)
    at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:255)
    at oracle.spatial.rdf.client.jena.OracleSemQueryPlan.executeBindings
    (OracleSemQueryPlan.java:302)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterBlockTriplesQH$StagePattern.<init>
    (QueryIterBlockTriplesQH.java:89)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterBlockTriplesQH.nextStage
    (QueryIterBlockTriplesQH.java:55)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage
    (QueryIterRepeatApply.java:92)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding
    (QueryIterRepeatApply.java:54)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext
    (QueryIteratorBase.java:69)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage
    (QueryIterRepeatApply.java:85)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding
    (QueryIterRepeatApply.java:54)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext
    (QueryIteratorBase.java:69)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage
    (QueryIterRepeatApply.java:85)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding
    (QueryIterRepeatApply.java:54)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext
    (QueryIteratorBase.java:69)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage
    (QueryIterRepeatApply.java:85)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding
    (QueryIterRepeatApply.java:54)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext
    (QueryIteratorBase.java:69)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding
    (QueryIterConvert.java:47)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext
    (QueryIteratorBase.java:69)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding
    (QueryIteratorWrapper.java:29)
    at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext
    (QueryIteratorBase.java:69)
    at com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:62)
    at benchmark.repository.oracle.OracleQuerying.getSelectQueryResult
    (OracleQuerying.java:148)
    at benchmark.repository.oracle.OracleQuerying.doSparqlQuery(OracleQuerying.java:101)
    at benchmark.repository.oracle.OracleQuerying.queryingData(OracleQuerying.java:90)
    at benchmark.repository.oracle.OracleQuerying.querying(OracleQuerying.java:49)
    at benchmark.repository.oracle.OracleQuerying.<init>(OracleQuerying.java:44)
    at benchmark.Benchmark.runTest(Benchmark.java:113)
    at benchmark.Benchmark.main(Benchmark.java:56)
    ### Loading Code Snippet ###
              String jdbcURL = "jdbc:oracle:thin:@" + Constants.HOST + ":1521:orcl";
              OracleDataSource ds = new OracleDataSource();
              ds.setURL(jdbcURL);
              ds.setUser(Constants.ORACLE_USER);
              ds.setPassword(Constants.ORACLE_PASSWORD);
              OracleConnection conn = (OracleConnection) ds.getConnection();
              oracle = new Oracle(conn);
              modelOracleSem = ModelOracleSem.createOracleSemModel(oracle, modelName);
              graphOracleSem = modelOracleSem.getGraph();
              graphOracleSem.createTables();
              graphOracleSem.clearRepository();
              for (int i = 0; i < fileList.length; i++) {
                   file = fileList;
                   if (file.isDirectory())
    continue;
                   inputFilePath = file.getAbsolutePath();
                   InputStream in = null;
                   try {
                        in = FileManager.get().open(inputFilePath);
                        if (in == null) {
                             throw new IllegalArgumentException("File: " + inputFilePath + " not found");
                        modelOracleSem.read(in, "", "N-TRIPLE");
                        modelOracleSem.commit();
                   } finally {
                        if (in != null)
                             in.close();

    Hi,
    The data loading was slow because incremental loading API was used. Please take a look at OracleBulkUpdateHandler. There is an addInBatch API that you can use.
    Now regarding queries, Jena Adaptor v2.0 was primarily designed for Oracle Database 11g Release 1.
    Recently, a new version of Jena Adaptor has been released and it's optimized for Oracle Database 11g
    Release 2.
    Is it possible to run your BSBM benchmark tests against Oracle Database 11g Release 2 using the latest
    Jena Adaptor (http://forums.oracle.com/forums/ann.jspa?annID=1179) ?
    Thanks,
    Zhe Wu

  • Instant Client/ODBC 10.2.0.4 doesn't use PK

    Hi,
    i got the problem in our application (VB6, JET-Engine, ODBC - old school access) simple statements doesn't uses primary keys (constraints). Instead it does a "Full Table Scan" and i don't know why.
    More Infos:
    It's a simple table called e.g. DOCUMENT, it's has a few rows, the important one ist DOC_RECID which was created like this...
    CREATE TABLE DOCUMENT (
    DOC_RECID number NOT NULL,
    PRIMARY KEY (DOC_RECID));
    The Access is via DYNASET, the statement like this "select * from document where doc_recid = 123"
    Tested with Instant Client/ODBC 10.2.0.2, 10.2.0.4 and DataDirects Wired Driver
    Edited by: user11230853 on 04.06.2009 07:35

    Hi, thanks for answering...
    - I don't know if it's not the instant client (i read there's a bug 4608183 in IC < 10.2.0.2, but that's just with double and float)
    And it's doesn't make a "Fullt table scan" when i don't use the application (same statement)
    Quote:
    Note.257828.1 Ext/Pub Full Table Scan While Quering DATE Columns Using Oracle ODBC Driver:
    Note.403198.1 Ext/Pub Full Index Scan in Execution Plan With Access and Double or Float as Primary Key:
    Note.373129.1 Ext/Pub Slow Performance Exhibited by Oracle ODBC Against 10.2 Oracle Database:
    - Yes it is the statement
    - Yes there i updates the statistics myself, and ich also dropped the other indizies and created them again.
    - There are 275.000 rows in the table and 58 columns (varchar2, number, datetime, 2 CLOBs and 1 BLOB)
    Edited by: user11230853 on 04.06.2009 23:42

  • Sparql endpoint with Jena adaptor

    Hello,
    I'm using the Oracle-Jena adaptor. It works well. But we want now to get an sparql server (http sparql protocol)? Anyone here has any experience with that?

    Hi,
    It says the following in the readme instructions on how to install Jena adaptor.
    Please consult the Oracle® Database Semantic Technologies Developer's Guide 11g Release 2 (11.2) documentation for Jena Adaptor installation instructions.
    But can't seem to find the instructions in the developers guide, do you know if the installation instructions exist? if so can you point to the location?
    Thanks,

  • SWRLB + Jena Adaptor ?

    Hi, i wanna ask how to integrate Jena Adaptor with SWRLB . is it possible ?
    Thanks

    Actually, we don't want you to worry about the underlying machinery :)
    When you use the Jena Adaptor's addInBatch API, then we use batch loading capabilities through JDBC.
    When you use the Jena Adaptor's addInBulk API, then we create, through JDBC, staging table, populate it and also a separate table for long literals, invoke bulk loader, and finally add those triples with long literals. As you can see, there is no SQLLoader involved.*
    Hope it helps,
    Zhe Wu

Maybe you are looking for