Skip to content

Commit cf0ffae

Browse files
committed
fixes issue #96
1 parent 99683f2 commit cf0ffae

7 files changed

Lines changed: 2908 additions & 44 deletions

File tree

spec/config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ var respecConfig = {
3333
// formal title, define it here
3434
// subtitle : "White Paper",
3535
// if you wish the publication date to be other than the last modification, set this
36-
publishDate: "2025-11-20",
36+
publishDate: "2026-01-08",
3737
// if the specification's copyright date is a range of years, specify
3838
// the start date here:
3939
copyrightStart: "2024",

spec/docs/20260108/index.html

Lines changed: 2853 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
2+
a.sec-ref:before {
3+
content: "“";
4+
}
5+
6+
a.sec-ref:after {
7+
content: "”";
8+
}
9+
10+
span.orcid a {
11+
text-decoration: none !important;
12+
border: none !important;
13+
}
14+
15+
span.orcid a img {
16+
transform: translateY(3px);
17+
}
18+
19+
html {
20+
background: white !important;
21+
}
1.83 KB
Loading

spec/docs/index.html

Lines changed: 18 additions & 23 deletions
Large diffs are not rendered by default.

spec/rendered.html

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!DOCTYPE html><html lang="en" dir="ltr"><head>
22
<meta charset="utf-8">
3-
<meta name="generator" content="ReSpec 35.6.0">
3+
<meta name="generator" content="ReSpec 35.6.1">
44
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
55
<style>
66
span.example-title{text-transform:none}
@@ -141,7 +141,7 @@
141141
<script data-goatcounter="https://rml-fields.goatcounter.com/count" async="" src="//gc.zgo.at/count.js"></script>
142142

143143
<noscript>
144-
&amp;lt;img src="https://rml-fields.goatcounter.com/count?p=/test-noscript"&amp;gt;
144+
&lt;img src="https://rml-fields.goatcounter.com/count?p=/test-noscript"&gt;
145145
</noscript>
146146

147147
<style id="respec-mainstyle">
@@ -246,7 +246,7 @@
246246
"processVersion": 2024,
247247
"specStatus": "CG-DRAFT",
248248
"shortName": "rml-lv",
249-
"publishDate": "2025-11-20",
249+
"publishDate": "2026-01-08",
250250
"copyrightStart": "2024",
251251
"edDraftURI": "https://w3id.org/rml/lv/spec",
252252
"editors": [
@@ -342,16 +342,16 @@
342342
"id": "rml-io"
343343
}
344344
},
345-
"publishISODate": "2025-11-20T00:00:00.000Z",
346-
"generatedSubtitle": "Draft Community Group Report 20 November 2025"
345+
"publishISODate": "2026-01-08T00:00:00.000Z",
346+
"generatedSubtitle": "Draft Community Group Report 08 January 2026"
347347
}</script>
348348
<link rel="stylesheet" href="https://www.w3.org/StyleSheets/TR/2021/cg-draft"></head>
349349
<body class="h-entry"><div class="head">
350350

351351
<h1 id="title" class="title">RML Logical Views</h1>
352352
<p id="w3c-state">
353353
<a href="https://www.w3.org/standards/types#reports">Draft Community Group Report</a>
354-
<time class="dt-published" datetime="2025-11-20">20 November 2025</time>
354+
<time class="dt-published" datetime="2026-01-08">08 January 2026</time>
355355
</p>
356356
<dl>
357357

@@ -389,7 +389,7 @@ <h1 id="title" class="title">RML Logical Views</h1>
389389
<p class="copyright">
390390
<a href="https://www.w3.org/policies/#copyright">Copyright</a>
391391
©
392-
2024-2025
392+
2024-2026
393393

394394
the Contributors to the RML Logical Views
395395
Specification, published by the
@@ -427,7 +427,7 @@ <h1 id="title" class="title">RML Logical Views</h1>
427427
<p data-format="markdown"><p>This is an early draft,
428428
yet efforts are made to keep things stable.</p>
429429
</p>
430-
</section><nav id="toc"><h2 class="introductory" id="table-of-contents">Table of Contents</h2><ol class="toc"><li class="tocline"><a class="tocxref" href="#abstract">Abstract</a></li><li class="tocline"><a class="tocxref" href="#sotd">Status of This Document</a></li><li class="tocline"><a class="tocxref" href="#overview"><bdi class="secno">1. </bdi>Overview</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#conventions"><bdi class="secno">1.1 </bdi>Document conventions</a></li><li class="tocline"><a class="tocxref" href="#conformance"><bdi class="secno">1.2 </bdi>Conformance</a></li></ol></li><li class="tocline"><a class="tocxref" href="#problem"><bdi class="secno">2. </bdi>Problem</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#nested-data-structures"><bdi class="secno">2.1 </bdi>Nested data structures</a></li><li class="tocline"><a class="tocxref" href="#mixed-data-formats"><bdi class="secno">2.2 </bdi>Mixed data formats</a></li><li class="tocline"><a class="tocxref" href="#joining-of-data-sources"><bdi class="secno">2.3 </bdi>Joining of data sources</a></li></ol></li><li class="tocline"><a class="tocxref" href="#logicalviews"><bdi class="secno">3. </bdi>Logical views</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#logicalviewiterator"><bdi class="secno">3.1 </bdi>Logical view iterator</a></li><li class="tocline"><a class="tocxref" href="#logicalviewexpressions"><bdi class="secno">3.2 </bdi>Logical view expressions</a></li></ol></li><li class="tocline"><a class="tocxref" href="#fields"><bdi class="secno">4. </bdi>Fields</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#fieldparents"><bdi class="secno">4.1 </bdi>Field parents</a></li><li class="tocline"><a class="tocxref" href="#fieldnames"><bdi class="secno">4.2 </bdi>Field names</a></li><li class="tocline"><a class="tocxref" href="#fieldrecords"><bdi class="secno">4.3 </bdi>Field records</a></li><li class="tocline"><a class="tocxref" href="#fieldreferenceformulations"><bdi class="secno">4.4 </bdi>Field reference formulations</a></li></ol></li><li class="tocline"><a class="tocxref" href="#viewjoins"><bdi class="secno">5. </bdi>Logical view joins</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#dfn-join-type"><bdi class="secno">5.1 </bdi>Join types</a></li><li class="tocline"><a class="tocxref" href="#logical-view-join-examples"><bdi class="secno">5.2 </bdi>Logical view join examples</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#left-join"><bdi class="secno">5.2.1 </bdi>Left join</a></li><li class="tocline"><a class="tocxref" href="#inner-join"><bdi class="secno">5.2.2 </bdi>Inner join</a></li><li class="tocline"><a class="tocxref" href="#two-left-joins"><bdi class="secno">5.2.3 </bdi>Two left joins</a></li></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#annotations"><bdi class="secno">6. </bdi>Structural Annotations</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#invariance-principle"><bdi class="secno">6.1 </bdi>Invariance Principle</a></li><li class="tocline"><a class="tocxref" href="#irisafe"><bdi class="secno">6.2 </bdi>IriSafe</a></li><li class="tocline"><a class="tocxref" href="#primarykey"><bdi class="secno">6.3 </bdi>PrimaryKey</a></li><li class="tocline"><a class="tocxref" href="#unique"><bdi class="secno">6.4 </bdi>Unique</a></li><li class="tocline"><a class="tocxref" href="#notnull"><bdi class="secno">6.5 </bdi>NotNull</a></li><li class="tocline"><a class="tocxref" href="#foreignkey"><bdi class="secno">6.6 </bdi>ForeignKey</a></li><li class="tocline"><a class="tocxref" href="#inclusion"><bdi class="secno">6.7 </bdi>Inclusion</a></li></ol></li><li class="tocline"><a class="tocxref" href="#references"><bdi class="secno">A. </bdi>References</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><bdi class="secno">A.1 </bdi>Normative references</a></li><li class="tocline"><a class="tocxref" href="#informative-references"><bdi class="secno">A.2 </bdi>Informative references</a></li></ol></li></ol></nav>
430+
</section><nav id="toc"><h2 class="introductory" id="table-of-contents">Table of Contents</h2><ol class="toc"><li class="tocline"><a class="tocxref" href="#abstract">Abstract</a></li><li class="tocline"><a class="tocxref" href="#sotd">Status of This Document</a></li><li class="tocline"><a class="tocxref" href="#overview"><bdi class="secno">1. </bdi>Overview</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#conventions"><bdi class="secno">1.1 </bdi>Document conventions</a></li><li class="tocline"><a class="tocxref" href="#conformance"><bdi class="secno">1.2 </bdi>Conformance</a></li></ol></li><li class="tocline"><a class="tocxref" href="#problem"><bdi class="secno">2. </bdi>Problem</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#nested-data-structures"><bdi class="secno">2.1 </bdi>Nested data structures</a></li><li class="tocline"><a class="tocxref" href="#mixed-data-formats"><bdi class="secno">2.2 </bdi>Mixed data formats</a></li><li class="tocline"><a class="tocxref" href="#joining-of-data-sources"><bdi class="secno">2.3 </bdi>Joining of data sources</a></li></ol></li><li class="tocline"><a class="tocxref" href="#logicalviews"><bdi class="secno">3. </bdi>Logical views</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#logicalviewiterator"><bdi class="secno">3.1 </bdi>Logical view iterator</a></li><li class="tocline"><a class="tocxref" href="#logicalviewexpressions"><bdi class="secno">3.2 </bdi>Logical view expressions</a></li></ol></li><li class="tocline"><a class="tocxref" href="#fields"><bdi class="secno">4. </bdi>Fields</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#fieldparents"><bdi class="secno">4.1 </bdi>Field parents</a></li><li class="tocline"><a class="tocxref" href="#fieldnames"><bdi class="secno">4.2 </bdi>Field names</a></li><li class="tocline"><a class="tocxref" href="#fieldrecords"><bdi class="secno">4.3 </bdi>Field records</a></li><li class="tocline"><a class="tocxref" href="#fieldreferenceformulations"><bdi class="secno">4.4 </bdi>Field reference formulations</a></li></ol></li><li class="tocline"><a class="tocxref" href="#viewjoins"><bdi class="secno">5. </bdi>Logical view joins</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#dfn-join-type"><bdi class="secno">5.1 </bdi>Join types</a></li><li class="tocline"><a class="tocxref" href="#logical-view-join-examples"><bdi class="secno">5.2 </bdi>Logical view join examples</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#left-join"><bdi class="secno">5.2.1 </bdi>Left join</a></li><li class="tocline"><a class="tocxref" href="#inner-join"><bdi class="secno">5.2.2 </bdi>Inner join</a></li><li class="tocline"><a class="tocxref" href="#two-left-joins"><bdi class="secno">5.2.3 </bdi>Two left joins</a></li></ol></li></ol></li><li class="tocline"><a class="tocxref" href="#annotations"><bdi class="secno">6. </bdi>Structural Annotations</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#invariance-principle"><bdi class="secno">6.1 </bdi>Invariance Principle</a></li><li class="tocline"><a class="tocxref" href="#irisafe"><bdi class="secno">6.2 </bdi>IriSafe</a></li><li class="tocline"><a class="tocxref" href="#primarykey"><bdi class="secno">6.3 </bdi>PrimaryKey</a></li><li class="tocline"><a class="tocxref" href="#unique"><bdi class="secno">6.4 </bdi>Unique</a></li><li class="tocline"><a class="tocxref" href="#notnull"><bdi class="secno">6.5 </bdi>NotNull</a></li><li class="tocline"><a class="tocxref" href="#foreignkey"><bdi class="secno">6.6 </bdi>ForeignKey</a></li><li class="tocline"><a class="tocxref" href="#inclusion"><bdi class="secno">6.7 </bdi>Inclusion</a></li></ol></li><li class="tocline"><a class="tocxref" href="#references"><bdi class="secno">A. </bdi>References</a><ol class="toc"><li class="tocline"><a class="tocxref" href="#normative-references"><bdi class="secno">A.1 </bdi>Normative references</a></li></ol></li></ol></nav>
431431

432432
<section id="overview-0"><div class="header-wrapper"><h2 id="overview"><bdi class="secno">1. </bdi>Overview</h2><a class="self-link" href="#overview" aria-label="Permalink for Section 1."></a></div><p><em>This section is non-normative.</em></p>
433433
<section id="document-conventions"><div class="header-wrapper"><h3 id="conventions"><bdi class="secno">1.1 </bdi>Document conventions</h3><a class="self-link" href="#conventions" aria-label="Permalink for Section 1.1"></a></div><p>We assume readers have basic familiarity with RDF and RML concepts.</p>
@@ -1274,7 +1274,7 @@ <h1 id="title" class="title">RML Logical Views</h1>
12741274
The <a data-link-type="dfn|abstract-op" href="#dfn-declared-name" class="internalDFN" id="ref-for-dfn-declared-name-11">declared name</a> of this field <em class="rfc2119">MUST</em> be different from the <a data-link-type="dfn|abstract-op" href="#dfn-absolute-name" class="internalDFN" id="ref-for-dfn-absolute-name-3">absolute name</a> of every other field in the <a data-link-type="dfn|abstract-op" href="#dfn-child-logical-view" class="internalDFN" id="ref-for-dfn-child-logical-view-2">child logical view</a>.</li>
12751275
</ul>
12761276
<p>Similar to how <a href="https://w3id.org/rml/core/spec#joins">joins are defined in RML-Core</a>,
1277-
the <a data-link-type="dfn|abstract-op" href="#dfn-logical-view" class="internalDFN" id="ref-for-dfn-logical-view-14">logical view</a> in the subject position of the <a data-link-type="dfn|abstract-op" href="#dfn-join-property" class="internalDFN" id="ref-for-dfn-join-property-1">join property</a> fulfills the role of <a href="https://w3id.org/rml/core/spec#child-logical-source">child logical source</a> in the <a href="https://w3id.org/rml/core/spec#dfn-join-condition">join condition(s)</a>, but of the <a data-link-type="dfn|abstract-op" href="#dfn-logical-view-join" class="internalDFN" id="ref-for-dfn-logical-view-join-3">logical view join</a>, and is referred to as <dfn id="dfn-child-logical-view" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">child logical view</dfn>.
1277+
the <a data-link-type="dfn|abstract-op" href="#dfn-logical-view" class="internalDFN" id="ref-for-dfn-logical-view-15">logical view</a> in the subject position of the <a data-link-type="dfn|abstract-op" href="#dfn-join-property" class="internalDFN" id="ref-for-dfn-join-property-1">join property</a> fulfills the role of <a href="https://w3id.org/rml/core/spec#child-logical-source">child logical source</a> in the <a href="https://w3id.org/rml/core/spec#dfn-join-condition">join condition(s)</a>, but of the <a data-link-type="dfn|abstract-op" href="#dfn-logical-view-join" class="internalDFN" id="ref-for-dfn-logical-view-join-3">logical view join</a>, and is referred to as <dfn id="dfn-child-logical-view" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">child logical view</dfn>.
12781278
The <a data-link-type="dfn|abstract-op" href="#dfn-parent-logical-view" class="internalDFN" id="ref-for-dfn-parent-logical-view-2">parent logical view</a> fulfills the role of the <a href="https://w3id.org/rml/core/spec#parent-logical-source">parent logical source</a> in the <a href="https://w3id.org/rml/core/spec#dfn-join-condition">join condition(s)</a>, but of the <a data-link-type="dfn|abstract-op" href="#dfn-logical-view-join" class="internalDFN" id="ref-for-dfn-logical-view-join-4">logical view join</a>.</p>
12791279
<table>
12801280
<thead>
@@ -1807,12 +1807,12 @@ <h1 id="title" class="title">RML Logical Views</h1>
18071807
</thead>
18081808
<tbody><tr>
18091809
<td><code>rml:targetView</code></td>
1810-
<td><code>rml:InclusionAnnotation</code></td>
1810+
<td><code>rml:ForeignKeyAnnotation</code></td>
18111811
<td><code>rml:LogicalView</code></td>
18121812
</tr>
18131813
<tr>
18141814
<td><code>rml:targetFields</code></td>
1815-
<td><code>rml:InclusionAnnotation</code></td>
1815+
<td><code>rml:ForeignKeyAnnotation</code></td>
18161816
<td><code>rdf:List</code></td>
18171817
</tr>
18181818
</tbody></table>
@@ -1973,11 +1973,6 @@ <h1 id="title" class="title">RML Logical Views</h1>
19731973
</dd><dt id="bib-turtle">[turtle]</dt><dd>
19741974
<a href="https://www.w3.org/TR/turtle/"><cite>RDF 1.1 Turtle</cite></a>. Eric Prud'hommeaux; Gavin Carothers. W3C. 25 February 2014. W3C Recommendation. URL: <a href="https://www.w3.org/TR/turtle/">https://www.w3.org/TR/turtle/</a>
19751975
</dd></dl>
1976-
</section><section id="informative-references"><div class="header-wrapper"><h3 id="a-2-informative-references"><bdi class="secno">A.2 </bdi>Informative references</h3><a class="self-link" href="#informative-references" aria-label="Permalink for Appendix A.2"></a></div>
1977-
1978-
<dl class="bibliography"><dt id="bib-rml-io">[RML-IO]</dt><dd>
1979-
<a href="https://w3id.org/rml/io/spec"><cite>RML-IO</cite></a>. W3C. 27 September 2023. Draft Community Group Report. URL: <a href="https://w3id.org/rml/io/spec">https://w3id.org/rml/io/spec</a>
1980-
</dd></dl>
19811976
</section></section><p role="navigation" id="back-to-top">
19821977
<a href="#title"><abbr title="Back to Top"></abbr></a>
19831978
</p><div class="dfn-panel" hidden="" role="dialog" aria-modal="true" id="dfn-panel-for-dfn-logical-view" aria-label="Links in this document to definition: logical view">

spec/section/annotations.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ The <dfn data-lt="ForeignKey annotation">ForeignKey structural annotation</dfn>
125125

126126
The <dfn>target view</dfn> is a [=logical view=] specified through the property `rml:targetView`, whereas the <dfn>target fields</dfn> are an RDF list of field names specified through the property `rml:targetFields`. These two properties are specified as follows:
127127

128-
| Property | Domain | Range |
129-
|--------------------|---------------------------|-------------------|
130-
| `rml:targetView` | `rml:InclusionAnnotation` | `rml:LogicalView` |
131-
| `rml:targetFields` | `rml:InclusionAnnotation` | `rdf:List` |
128+
| Property | Domain | Range |
129+
|--------------------|----------------------------|-------------------|
130+
| `rml:targetView` | `rml:ForeignKeyAnnotation` | `rml:LogicalView` |
131+
| `rml:targetFields` | `rml:ForeignKeyAnnotation` | `rdf:List` |
132132

133133
Therefore, each ForeignKey annotation MUST specify (additionally to the inherited `rml:onFields` property):
134134

0 commit comments

Comments
 (0)