RMLio / RMLio/MappingWeaver-java

Very different behavior on iterators compared to RMLViewer + RMLMapper

オープン
#6 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Java
スター
3
フォーク
1
PR マージ指標
30日以内にマージされた PR はありません

説明

Following up on #3, but using LogicalViews, there's a big gap between what MappingWeaver allows to access array values, versus what RMLViewer + RMLMapper allow.

Given the following scaffolding:

:view a rml:LogicalView ;
  rml:viewOn [
    # JSONPath root iterator over { "key": [ "1", "2" ] }
  ] ;
  rml:field [
    rml:fieldName "key"
    # insert field definition from list below
  ] .

:mapping a rml:TriplesMap ;
  rml:logicalSource :view ;
  rml:subjectMap [ rml:termType rml:BlankNode ] ;
  rml:predicateObjectMap [
    rml:predicate <urn:example:hasValue> ;
    rml:objectMap [ 
      # insert corresponding reference from field definitions below
    ]
  ] .

A. With direct reference rml:reference "key" in the mapping:

  • rml:reference "key[*]" in the view's field works
  • rml:reference "$.key[*]" in the view's field works
  • rml:reference "key" in the view's field fails in MappingWeaver
  • rml:reference "$.key" in the view's field fails in MappingWeaver
  • rml:iterator "$.key[*]" (without nested field) fails in MappingWeaver and RMLViewer+RMLMapper

B. With nested reference rml:reference "key.value" in the mapping:

  1. Using rml:iterator "$.key[*]" ; rml:field [ rml:fieldName "value" ; ... ] in the view:
  • rml:reference "@" in the nested field works (and MappingWeaver adds canonical type)
  • rml:reference "[*]" in the nested field fails in MappingWeaver
  • rml:reference "$" in the nested field fails in MappingWeaver
  1. Using rml:iterator "key[*]" [ rml:fieldName "value" ; ... ] in the view, all of the references above (@, [*], $) fail in MappingWeaver

  2. Using rml:iterator "$.key" [ rml:fieldName "value" ; ... ], in the view, all of the references above fail in MappingWeaver

  3. Using rml:iterator "key" [ rml:fieldName "value" ; ... ], in the view, all of the references above fail in MappingWeaver

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Start by reproducing the supplied LogicalViews scaffolding and the iterator/reference cases, then trace how MappingWeaver handles nested fields and array values. Compare the results with RMLViewer and RMLMapper; done means the differing cases have an agreed, tested behavior or the incompatibility is clearly documented.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。