RDF 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 ответ

Решение

Ключ находится в документе, на который вы ссылаетесь:

6. Создание определений структуры данных

Qb:DataStructureDefinition определяет структуру одного или нескольких наборов данных. В частности, он определяет измерения, атрибуты и меры, используемые в наборе данных, а также уточняющую информацию, такую ​​как порядок измерений и то, являются ли атрибуты обязательными или необязательными.

Вот весь пример, который вы нам показали:

Пример 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 является определением структуры данных, и в нем есть пять компонентов. Напомним, что структура набора данных была:

набор данных по ожидаемой продолжительности жизни

Вы можете видеть, что для индексации отдельной ячейки требуется три измерения. Вам нужен диапазон дат (например, 2005–2007), область (например, Кардифф) и пол (например, мужчина). Значения в этих ячейках являются значениями ожидаемой продолжительности жизни; то есть каждое значение - это eb:lifeExpectancy чего-либо. Вот что говорит нам qb:component [ qb:measure, например:lifeExpectancy ].


Другое использование свойств в неимущественных позициях

Этот раздел немного больше комментирует использование свойств в качестве предметов и объектов в тройках. RDF не делает особого различия в отношении ролей, которые ресурсы могут играть в тройках. Субъектами троек могут быть IRI и пустые узлы; свойства троек могут быть только IRI; и объекты троек могут IRI, пустые узлы или литералы. В тройках RDF вам часто нужно использовать IRI, которые обычно используют свойства в качестве объектов или предметов для их описания. Например,:

# :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

Другие вопросы по тегам