RDF Data Cube使用property作为对象?

时间:2014-12-23 10:47:52

标签: rdf ontology data-cube

当我阅读RDF Data Cube Vocabulary文档时,有一件事让我感到困惑:MeasureProperties(在以下示例中,我使用eg:lifeExpectancy首先定义为属性。 ,在定义数据结构时,它们被用作对象。这是允许的吗?请参阅以下直接从规范文档中获取的示例。

所以,首先MeasureProperty本身被定义为rdf:property。请参阅以下eg:lifeExpectancy的示例:

eg:lifeExpectancy  a rdf:Property, qb:MeasureProperty;
    rdfs:label "life expectancy"@en;
    rdfs:subPropertyOf sdmx-measure:obsValue;
    rdfs:range xsd:decimal . 

稍后,此MeasureProperty用于定义数据结构:

eg:dsd-le a qb:DataStructureDefinition;
    # The dimensions
    [...]
    # The measure(s)
    qb:component [ qb:measure eg:lifeExpectancy];
    # The attributes
    [...]

正如您所看到的,eg:lifeExpectancy此处用作对象,不应该被允许,因为它是属性?!还是我错了?

之后,在实际表达观察结果时,eg:lifeExpectancy将我们视为属性

eg:o1 a qb:Observation;
    qb:dataSet  eg:dataset-le1 ;
    eg:refArea                 ex-geo:newport_00pr ;                  
    sdmx-dimension:sex         sdmx-code:sex-M ;
    sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
    eg:lifeExpectancy          76.7 ;
    .

如何将eg:lifeExpectancy作为对象使用,如上面的qb:DataStructureDefinition所做的那样?

1 个答案:

答案 0 :(得分:2)

密钥位于您链接到的文档中:

  

6. Creating data structure definitions

     

qb:DataStructureDefinition定义一个或多个的结构   数据集。特别是,它定义了维度,属性和   数据集中使用的度量以及诸如的限定信息   维度的排序以及是否需要属性或   可选的。

您向我们展示的一个例子是:

  

EXAMPLE 4

eg:dsd-le a qb:DataStructureDefinition;
    # The dimensions
    qb:component [ qb:dimension eg:refArea;         qb:order 1 ];
    qb:component [ qb:dimension eg:refPeriod;       qb:order 2 ];
    qb:component [ qb:dimension sdmx-dimension:sex; qb:order 3 ];
    # The measure(s)
    qb:component [ qb:measure eg:lifeExpectancy];
    # The attributes
    qb:component [ qb:attribute sdmx-attribute:unitMeasure; 
                   qb:componentRequired "true"^^xsd:boolean;
                   qb:componentAttachment qb:DataSet; ] .

例如:dsd-le 数据结构定义,它有五个组件。回想一下,数据集的结构是:

life expectancy dataset

您可以看到索引单个单元格需要三个维度。您需要日期范围(例如, 2005-2007 ),区域(例如加的夫)和性别(例如男性) 。这些细胞中的值是预期寿命值;即,每个值都是某事物的 eb:lifeExpectancy 。这就是 qb:component [qb:measure eg:lifeExpectancy] 告诉我们的。


非财产职位的财产的其他用途

本节更多地评论了属性作为三元组中的主体和对象的使用。 RDF对资源在三元组中可以发挥的作用没有太大区别。三元组的主题可以是IRI和空白节点;三元组的属性只能是IRI;三元组的对象可以是IRI,空白节点或文字。在RDF三元组中,您通常需要使用通常将属性用作对象或主题的IRI来描述它们。 E.g,:

# :hasParent used as property
:isaac :hasParent :abraham .

# :hasParent used as subject
:hasParent rdfs:label "has father"@en ;
           rdfs:comment "used to indicate that the object is a parent of the subject"@en ;
           rdf:type :FamilialRelationship .

# :hasParent used as object
:hasChild owl:inverseOf :hasParent .

您的具体示例

属性的不同用途,通常为RDF

值得看一下你提到的例子中实际发生的事情。在第一个:

eg:lifeExpectancy  a rdf:Property, qb:MeasureProperty;
  … .

qb:MeasureProperty 实际上显示为三元组的对象

eg:lifeExpectancy rdf:type qb:MeasureProperty

表示 qb:MeasureProperty 。顾名思义,它是一类属性。即,当您看到 x rdf:type qb:MeasureProperty 时,您可以期望在其他三元组中看到 x 属性。然后,例如:lifeExpectancy 是一个属性,尽管在这个三元组中它是一个主题。后来,我们看到了三重

eg:o1 eg:lifeExpectancy 76.7 .

其中例如:lifeExpectancy 用作属性。

RDF Data Cube的属性的不同用途