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