Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into 13-ci
Browse files Browse the repository at this point in the history
  • Loading branch information
pmaria committed Feb 21, 2024
2 parents 46b370b + e4f80e3 commit 534ca78
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 18 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# RML Fields specification
# RML logical Views specification

Specification of RML fields
Specification of RML logical views

## Quickstart

Expand Down
4 changes: 2 additions & 2 deletions spec/section/abstract.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Abstract {#abstract}

RML fields is an extension of the RDF Mapping Language (RML) that increases the language’s capability to construct RDF datasets from nested input data.
RML logical views is an extension of the RDF Mapping Language (RML) that increases the language’s capability to construct RDF datasets from nested input data.

This document describes RML fields through definitions and examples.
This document describes RML logical views through definitions and examples.

The version of this document is *Unreleased*.
2 changes: 1 addition & 1 deletion spec/section/collections.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
## Generating collections with RML fields {#collections}
## Generating collections with RML logical views {#collections}
8 changes: 4 additions & 4 deletions spec/section/fields.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ In this example a [=field=] with [=declared name=] "name" is declared on the [=l

```turtle
:jsonView a rml:LogicalView ;
rml:logicalSource :jsonSource ;
rml:onLogicalSource :jsonSource ;
rml:field [
rml:name "name" ;
rml:fieldName "name" ;
rml:reference "$.name" ;
] .
```
Expand Down Expand Up @@ -92,7 +92,7 @@ In this example a [=field=] with [=declared name=] "item" is added to the [=logi

```turtle
:jsonView a rml:LogicalView ;
rml:logicalSource :jsonSource ;
rml:onLogicalSource :jsonSource ;
rml:field [
rml:fieldName "name" ;
rml:reference "$.name" ;
Expand Down Expand Up @@ -264,7 +264,7 @@ A [=field reference=] can be used in [expression maps](http://w3id.org/rml/core/

```turtle
:jsonView a rml:LogicalView ;
rml:logicalSource :jsonSource ;
rml:onLogicalSource :jsonSource ;
rml:field [
rml:fieldName "name" ;
rml:reference "$.name" ;
Expand Down
20 changes: 11 additions & 9 deletions spec/section/joins.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
## Joins {#joins}
## Logical view joins {#viewjoins}

A <dfn>join</dfn> (`rml:Join`) is an operation that extends the logical iteration of one logical view (the child logical view) with fields from another logical view (the parent logical view).
A <dfn>logical view join</dfn> (`rml:LogicalViewJoin`) is an operation that extends the logical iteration of one logical view (the child logical view) with fields from another logical view (the parent logical view).

A [=join=] (`rml:Join`) MUST contain:
A [=logical view join=] (`rml:LogicalViewJoin`) MUST contain:
- exactly one parent logical view property (`rml:parentLogicalView`), whose value is a [=logical view=] (`rml:LogicalView`) that supplies the additional fields.
- at least one join condition property (`rml:joinCondition`), whose value is a [=join condition=] that describe which values are compared to join the two logical views.
- at least one field property (`rml:field`), whose value is a [=field=] (`rml:Field`) . This field MAY only contain references to fields that exists in the parent logical view.

| Property | Domain | Range |
|-------------------------|------------|---------------------|
| `rml:parentLogicalView` | `rml:Join` | `rml:LogicalView` |
| `rml:joinCondition` | `rml:Join` | `rml:JoinCondition` |
| `rml:field` | `rml:Join` | `rml:Field` |
| Property | Domain | Range |
|-------------------------|-----------------------|---------------------|
| `rml:parentLogicalView` | `rml:LogicalViewJoin` | `rml:LogicalView` |
| `rml:joinCondition` | `rml:LogicalViewJoin` | `rml:JoinCondition` |
| `rml:field` | `rml:LogicalViewJoin` | `rml:Field` |


### Join conditions
Expand Down Expand Up @@ -81,7 +81,8 @@ If no match is found for a logical iteration, the logical iteration is removed f
Pano: If there are more than one join, what is the order of execution?
</aside>

### Join examples
### Logical view join examples

<aside class="issue">
Pano please verify what I did with the iterator and # key from the parent logical view. Is this ok? This should still be described somewhere?
</aside>
Expand All @@ -90,6 +91,7 @@ Els: TODO add example with 2 joins???
</aside>

### Left join

<aside class=example id=ex-leftjoin>

In this example a [=logical view=] with fields built with data from the logical source form [[[#csviterator]]] is joined with the logical view from [[[#ex-field-record-sequence]]].
Expand Down

0 comments on commit 534ca78

Please sign in to comment.