关系 ID 不匹配 - 使用 Ontop 将 OWL 映射到 Oracle DB

问题描述

作为我的小应用程序的一部分,我尝试在我的本体和带有 ontop 的 Oracle 数据库之间映射数据。但是我的第一个映射没有被推理者接受,也不清楚为什么。

作为我的第一次尝试,我使用以下目标:

:KIS/P_PVPAT_PATIENT/{PPVPAT_PATNR} a :Patient .   

以及以下来源:

select * from P_PVPAT_PATIENT

这里 KIS 是架构,p_pvpat_patient 是表,ppvpat_patnr 是键。

Caused by: it.unibz.inf.ontop.exception.InvalidMappingSourceQueriesException:  
Error: Relation IDs mismatch: P_PVPAT_PATIENT v "KIS"."P_PVPAT_PATIENT" P_PVPAT_PATIENT 
Problem location: source query of triplesMap 
[id: MAP_PATIENT
target atoms: triple(s,p,o) with  
s/RDF(http://www.semanticweb.org/grossmann/ontologies/kis-ontology#KIS/P_PVPAT_PATIENT/{}(TmpToVARCHAR2(PPVPAT_PATNR)),IRI),p/<http://www.w3.org/1999/02/22-rdf-Syntax-ns#type>,o/<http://www.semanticweb.org/grossmann/ontologies/kis-ontology#Patient>
source query: select * from P_PVPAT_PATIENT]

解决方法

因为错误说我的源查询是错误的,因为我忘记在我的 sql 中使用架构。

正确的sql是

从 kis.P_PVPAT_PATIENT 中选择 *

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...