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 FrankHi 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,
WeihuaCould 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/libIt appears like the readme.txt is not included in the zip file kept at the down location. Can you verify this please?
Thanks,
Rajesh. -
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 TechnologiesIt 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. -
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.5I 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 -
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,
DackoActually, 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:35Hi, 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 ?
ThanksActually, 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
-
My mac's launchpad is working but i am not able to use the apps that are provided in the launchpad
my mac's launchpad is working but i am not able to use the apps that are provided in the launchpad
-
How to control podcast app account?
I want to log out and log back in to another apple ID for my podcast app on the iphone. How do I do that?
-
X session failing to start...agpgart error
I've seen other postings on this, but no answers. I feel like I've read one hundred articles but to no avail. I am trying to install Sol-10 onto a PC (Compaq Deskpro PIII with Intel 810 video card), and can't get the 'X' session to start. I've tried
-
I'm trying to access my root folder. I've found some information on how to do it but I think I might be missing a step. First I entered this into Terminal so I can see hidden files and folders defaults write com.apple.Finder AppleShowAllFiles TRUE; k
-
When will a Windows 8 driver be available for the Pixima ip1500?
When will a Windows 8 driver be available for the Pixima ip1500?