当尝试从 http://docs.oracle.com/cd/E11882_01/appdev.112/e25609/sem_apis_ref.htm运行示例时,除了最重要的 SPARQL 查询调用之外,一切都很好。这是示例“家庭”脚本的缩短版本:
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
这些示例中的所有类似调用都失败并出现相同的错误。有任何想法吗?