Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

user rule with filter clause - how to?

629738Mar 25 2011 — edited Mar 26 2011
hi,
I am trying to create user rulebase that merges "similar" nodes via owl:sameAs but I hit a problem which I cannot resolve by reading the documentation.
The IF clause of my rule:
(?cluster1 hasRoot ?root1) (?cluster1 hasRoot ?root2)
The THEN clause:
(?root1 owl:sameAs ?root2)

I have to filter out two things:
- creating link r1 owl:sameAs r2
- and processing roots which are already linked with sameAs

I tried to use the FILTER argument in the mdsys.SEMR_MERGE_CLUSTERS_RULEBASE table, but for whatever reason cannot make it work when I need negation - I cannot understand which syntax can be used there and which not to check for equality. If I use
(?root1 != ?root2)'
as filter clause in the FILTER column of the rule table I get

Error report:
ORA-29532: Java call terminated by uncaught Java exception: java.sql.SQLException: Missing IN or OUT parameter at index:: 1
ORA-06512: at "MDSYS.SDO_SEM_INF_INTERNAL", line 12469
ORA-06512: at "MDSYS.SDO_SEM_INFERENCE", line 108
ORA-06512: at "MDSYS.RDF_APIS", line 72
ORA-06512: at line 1
29532. 00000 - "Java call terminated by uncaught Java exception: %s"
*Cause: A Java exception or error was signaled and could not be
resolved by the Java code.
*Action: Modify Java code, if this behavior is not intended.

when creating the entailment. I am completely lost how to do some sort of negation here...

Cheers,
Georgi

Comments

1037648

Bump

1 - 1
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Apr 23 2011
Added on Mar 25 2011
4 comments
233 views