При попытке запуска примеров из http://docs.oracle.com/cd/E11882_01/appdev.112/e25609/sem_apis_ref.htm все в порядке, за исключением самого важного вызова запроса SPARQL. Вот сокращенный вариант, например «семейный» сценарий: выходВозврат вызова SEM_MATCH ORA-00902: недопустимый тип данных
CREATE TABLE family_rdf_data (id NUMBER, triple SDO_RDF_TRIPLE_S);
EXECUTE SEM_APIS.create_sem_model('family', 'family_rdf_data', 'triple');
INSERT INTO family_rdf_data VALUES (15,
SDO_RDF_TRIPLE_S('family',
'<http://www.example.org/family/Tom>',
'<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>',
'<http://www.example.org/family/Male>'));
COMMIT;
-- Select all males from the family model, without inferencing.
SELECT m
FROM TABLE(SEM_MATCH(
'{?m rdf:type :Male}',
SEM_Models('family'),
null,
SEM_ALIASES(SEM_ALIAS('','http://www.example.org/family/')),
null));
SQLPLUS:
Table created.
PL/SQL procedure successfully completed.
1 row created.
Commit complete.
SELECT m
*
ERROR at line 1:
ORA-00902: invalid datatype
Все подобные звонки из этих примеров не в состоянии с той же ошибкой. Есть идеи?
Что вы получаете, когда выполняете оператор * точного * примера, например. 'ВЫБРАТЬ х, SEM_APIS.COMPOSE_RDF_TERM (H, H $ RDFVTYP, H $ RDFLTYP, ч $ RDFLANG) h_rdf_term, ч FROM TABLE (SEM_MATCH ( '{х:? Высота H}', SEM_Models ('семья'), null, SEM_ALIASES (SEM_ALIAS ('', 'http: //www.example.org/family/')), null)) ORDER BY x; '? –
У меня точно такая же ошибка «недопустимый тип данных» – dbaranov
Я использовал тот же пример в демонстрационной виртуальной машине Oracle (доступный на сайте Oracle), и он отлично работает. Я не администратор базы данных, поэтому я даже не знаю, в каком направлении я должен смотреть. – dbaranov