在Ontology Data Property中连接不同的信息

时间:2016-02-28 06:19:32

标签: rdf semantic-web owl ontology

每次访问文件时,我都需要用位置(lat,long)和时间信息对其进行注释;跟踪访问文件的时间和位置。

我的应用程序是基于本体的,所以我需要通过在我的本体中定义新属性来实现。

我目前正在使用数据属性:

  

fileAccessedLocation

     

域名:文件
  范围:字符串

     

以逗号分隔的lat,lon与Date&连接的表示形式。时间。例如52.500556,13.398889_atTime_2014-07-14T08:09:00

在我使用此属性的应用程序中,我能够实现我所需要的。

但就本体论而言,我不确定连接时间和位置是否正确。

如果连接方法错误,那么我如何将时间和位置与单个文件访问相关联?

1 个答案:

答案 0 :(得分:2)

我会使用多个数据属性。 以下是OWL Functional Style语法中的示例:

Declaration(Class(prefix:FileAccess))
Declaration(DataProperty(prefix:Latitude))
Declaration(DataProperty(prefix:Longitude))
Declaration(DataProperty(prefix:AccessTime))
FunctionalDataProperty(prefix:Latitude)
FunctionalDataProperty(prefix:Longitude)
FunctionalDataProperty(prefix:AccessTime)
DataPropertyRange(prefix:Latitude xsd:double)
DataPropertyRange(prefix:Longitude xsd:double)
DataPropertyRange(prefix:AccessTimexsd:dateTime)
SubClassOf(DataSomeValuesFrom(prefix:Latitude rdfs:Literal) prefix:FileAccess)
SubClassOf(DataSomeValuesFrom(prefix:Longitude rdfs:Literal) prefix:FileAccess)
SubClassOf(DataSomeValuesFrom(prefix:AccessTime rdfs:Literal) prefix:FileAccess)

您可以尝试从另一个角度看问题。假设您拥有实体:FileAccess的ER图,而不是本体图;将多个信息(纬度,经度和日期时间)存储在此实体的单个属性中是否方便?如果你这样做,如果我想从生成的数据库中检索日期时间在给定范围之间的所有FileAccess实例,会发生什么?答案很简单,您不能对数据源执行查询并检索所需的记录,而不会引入一些计算,这些计算是通过连接字符串来分隔存储在单个属性中的数据所需的。因此,例如,您需要连接字符串以将它们存储在单个属性中,然后您需要拆分此类字符串以便能够使用“聚合属性”的单个组件。更不用说在对您的聚合属性进行标记后,您需要将每个标记转换为适当的数据类型。

从本体论的角度来看,问题是类似的。数据属性是属性,因此对象和值之间的二元关系,其域是概念(类),其范围是值域(数据类型)。这仅适用于OWL,但通常用于描述逻辑。