From ac44c1e6864043d77e1754abe4c306d82312a1c6 Mon Sep 17 00:00:00 2001 From: elsdvlee <93709574+elsdvlee@users.noreply.github.com> Date: Tue, 3 Dec 2024 07:16:54 +0100 Subject: [PATCH] introduction of logical iterable (#40) ## What's changed Introduction of the logical iterable and logical source as defined in RML-Core ## Change checklist - [x] updated ontology, where necessary - [x] updated shapes, where necessary - [x] added or updated test cases, where necessary - [x] any TODOs have been turned into trackable issues and referenced where necessary ## Issue reference Resolves #34 --- ontology/documentation/ontology.ttl | 2 +- spec/section/fields.md | 17 ++++++++--------- spec/section/records.md | 2 +- spec/section/views.md | 16 ++++++++-------- 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/ontology/documentation/ontology.ttl b/ontology/documentation/ontology.ttl index be08dfb..3c789b2 100644 --- a/ontology/documentation/ontology.ttl +++ b/ontology/documentation/ontology.ttl @@ -104,7 +104,7 @@ rml:fieldName rdf:type owl:DatatypeProperty ; ### http://w3id.org/rml/Field rml:Field rdf:type owl:Class ; - rdfs:subClassOf rml:ExpressionMap, rml:LogicallyIterable ; + rdfs:subClassOf rml:ExpressionMap, rml:LogicalIterable ; rdfs:isDefinedBy . diff --git a/spec/section/fields.md b/spec/section/fields.md index 17f3c0f..aec99d7 100644 --- a/spec/section/fields.md +++ b/spec/section/fields.md @@ -2,16 +2,15 @@ A field is a type of expression map, that gives a name to an expression. Consequently, a [=field=] MUST have an expression. -A [=field=] is also a type of [logically iterable](). Consequently, a [=field=] MUST have a [reference formulation]() and an [iterator](). +A [=field=] is also a type of logical iterable. Consequently, a [=field=] MUST have exactly one reference formulation and exactly one logical iterator. A [=field=] (`rml:Field`) MUST have the following additional properties: - exactly one field name property (`rml:fieldName`), that specifies the [=name=] of the field - zero or more field properties (`rml:field`), to describe nested [=field=], also of the type `rml:Field` - -| Property | Domain | Range | -|------------------------------|--------------------------------|----------------------------| -| `rml:fieldName` | `rml:Field` | `rml:LogicalSource` | +| Property | Domain | Range | +|------------------------------|----------------------------------|----------------------------| +| `rml:fieldName` | `rml:Field` | `rml:LogicalSource` | | `rml:field` | `rml:LogicalView` or `rml:Field` | `rml:Field` | ### Field parents {#fieldparents} @@ -23,7 +22,7 @@ A [=field=] MUST have a declared name that is an alphanumerical strin