Oracle语义Web-SEM_RELATED运算符不会产生所需的结果

时间:2017-05-22 12:33:09

标签: oracle semantic-web ontology

我正在尝试Oracle Semantics Web文档列出的用于查询Cancer Ontology的相同场景。 以下是我遵循的步骤。

1)。创建了一个表空间。

CREATE TABLESPACE rdf_tblspace
DATAFILE 'C:\app\swagh\oradata\orcl\rdf_tblspace.dat' SIZE 1024M REUSE;

2)。创建了语义数据网络。

EXECUTE SEM_APIS.CREATE_SEM_NETWORK('rdf_tblspace');

3)。创建了一个用于存储三元组的应用程序表。

CREATE TABLE articles_rdf_data (id NUMBER, triple SDO_RDF_TRIPLE_S);

4)。创建了一个语义模型。

EXECUTE SEM_APIS.CREATE_SEM_MODEL('articles', 'articles_rdf_data', 'triple');

5)。将癌症本体数据插入到语义模型中。

INSERT INTO articles_rdf_data VALUES (1,
SDO_RDF_TRIPLE_S ('articles','Immunodeficiency-Syndrome',
    'http://www.w3.org/2000/01/rdf-schema#subClassOf',
    'Immune_System_Disorder'));

INSERT INTO articles_rdf_data VALUES (2,
  SDO_RDF_TRIPLE_S ('articles','T_Cell_Immunodeficiency',
    'http://www.w3.org/2000/01/rdf-schema#subClassOf',
    'Immunodeficiency-Syndrome')); 

INSERT INTO articles_rdf_data VALUES (3,
  SDO_RDF_TRIPLE_S ('articles','AIDS',
    'http://www.w3.org/2000/01/rdf-schema#subClassOf',
    'T_Cell_Immunodeficiency'));

6)。创建一个患者表并插入一个包含以下值的记录。

CREATE TABLE patients (id INT, diagnosis VARCHAR2(100));
INSERT INTO patients VALUES (1,'AIDS');

7)。执行基于本体的语义查询。

SELECT diagnosis FROM patients 
WHERE SEM_RELATED (diagnosis, 
'http://www.w3.org/2000/01/rdf-schema#subClassOf',
'http://www.example.org/medical_terms/Immune_System_Disorder', 
sem_models('articles'), null) = 1;   

此查询应返回AIDS作为诊断值,因为AIDST_Cell_Immunodeficiency的子类,后者又是Immunodeficiency-SyndromeImmune_System_Disorder类的子类,而它没有任何回报。 我在这里错过了什么吗?

0 个答案:

没有答案
相关问题