SEM_MATCH Returns the Canonical Type Instead of The Inserted Type (Doc ID 1946928.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Spatial and Graph - Version 12.1.0.1 and later
Information in this document applies to any platform.

Symptoms

How can we make SEM_MATCH return the original inserted type?

CREATE TABLE test_delete_data (id NUMBER, triple SDO_RDF_TRIPLE_S);

EXECUTE SEM_APIS.CREATE_SEM_MODEL('test_delete', 'test_delete_data', 'triple');

INSERT INTO test_delete_data values (1,
  SDO_RDF_TRIPLE_S('test_delete',
  'http://example.com/a',
  'http://example.com/someProp',
  '"750"^^http://www.w3.org/2001/XMLSchema#nonNegativeInteger'));
commit;

The SEM_MATCH does not return nonNegativeInteger

SELECT s, p, o, o$RDFLTYP, o$RDFVID
FROM TABLE(SEM_MATCH(
  '{ ?s ?p ?o }',
  SEM_Models('test_delete'),
  null,null,null));

Outout:
http://example.com/a
http://example.com/someProp
750
http://www.w3.org/2001/XMLSchema#decimal
6.1687E+18


It is returning the canonical type


How can we make SEM_MATCH return the original inserted type?

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms