Skip to content

Commit a3d466d

Browse files
fix: Fixed description of mapper in API_06_sword_api.md, added images for the same.
1 parent a3c180d commit a3d466d

3 files changed

Lines changed: 167 additions & 0 deletions

File tree

docs/spec/base/api/API_06_sword_api.md

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
- [処理概要](#処理概要)
1313
- [エラーメッセージ](#エラーメッセージ)
1414
- [サーバー設定値](#サーバー設定値)
15+
- [付録](#付録)
1516
- [更新履歴](#更新履歴)
1617

1718
## 目的・用途
@@ -1446,6 +1447,172 @@ JSON-LD形式メタデータをマッピング定義に従ってWEKO3の登録
14461447

14471448
以上の工程により、アイテムタイプを完成させる。
14481449

1450+
##### 3. リストの処理について
1451+
JSON-LD形式メタデータおよびアイテムタイプでは、リストに複数の同様のメタデータが格納されるプロパティが含まれる場合がある。
1452+
このとき、以下の3つの場合が考えられる。
1453+
1454+
1. JSON-LD形式メタデータでリストに格納される回数と、アイテムタイプでリストに格納される回数が一致する場合
1455+
2. JSON-LD形式メタデータでリストに格納される回数がアイテムタイプでリストに格納される回数より多い場合
1456+
3. JSON-LD形式メタデータでリストに格納される回数がアイテムタイプでリストに格納される回数より少ない場合
1457+
1458+
それぞれの場合について、以下の処理を行う。
1459+
1460+
1. 各リストの要素に対して、[2. マッピング処理](#2-マッピング処理)を行う。
1461+
2. アイテムタイプのリストに格納される回数と一致するまで、JSON-LD形式メタデータのリストの外側から順に、リストの0番目の要素を取得して処理を行う。
1462+
3. JSON-LD形式のリストの要素を、アイテムタイプのリストの外側から順に対応させるよう処理を行う。
1463+
1464+
上記[3]の場合の具体的な処理について記す。
1465+
JSON-LD形式メタデータでリストに2回格納されているプロパティを、アイテムタイプでリストに3回格納されるプロパティとしてマッピングする場合を考える。
1466+
1467+
以下は1つ目のリストに2つの要素を含み、その中の2つ目のリストに2つずつのプロパティを含むJSON-LD形式メタデータ(マッピング元メタデータ)を、JSON形式で表現した例である。
1468+
1469+
マッピング元メタデータ(JSON形式)
1470+
```json
1471+
{
1472+
"json_prop1": [
1473+
{
1474+
"json_subprop1": [
1475+
{
1476+
"json_name": "Name1"
1477+
},
1478+
{
1479+
"json_name": "Name2"
1480+
}
1481+
]
1482+
},
1483+
{
1484+
"json_subprop1": [
1485+
{
1486+
"json_name": "Name3"
1487+
},
1488+
{
1489+
"json_name": "Name4"
1490+
}
1491+
]
1492+
}
1493+
]
1494+
}
1495+
```
1496+
1497+
これを要素の区分が分かるよう、以下に図示した。
1498+
<img src="../media/media/image13.png" width="50%">
1499+
1500+
マッピング方法として、以下の3パターンが考えられるが、本処理ではパターン1の結果となる。
1501+
1502+
マッピング結果: パターン1
1503+
```json
1504+
{
1505+
"Prop1": [
1506+
{
1507+
"subProp1": [
1508+
{
1509+
"subsubProp1": [
1510+
{
1511+
"name": "Name1"
1512+
}
1513+
]
1514+
},
1515+
{
1516+
"subsubProp1": [
1517+
{
1518+
"name": "Name2"
1519+
}
1520+
]
1521+
}
1522+
]
1523+
},
1524+
{
1525+
"subProp1": [
1526+
{
1527+
"subsubProp1": [
1528+
{
1529+
"name": "Name3"
1530+
}
1531+
]
1532+
},
1533+
{
1534+
"subsubProp1": [
1535+
{
1536+
"name": "Name4"
1537+
}
1538+
]
1539+
}
1540+
]
1541+
}
1542+
]
1543+
}
1544+
```
1545+
1546+
マッピング結果: パターン2
1547+
```json
1548+
{
1549+
"Prop1": [
1550+
{
1551+
"subProp1": [
1552+
{
1553+
"subsubProp1": [
1554+
{
1555+
"name": "Name1"
1556+
},
1557+
{
1558+
"name": "Name2"
1559+
}
1560+
]
1561+
}
1562+
]
1563+
},
1564+
{
1565+
"subProp1": [
1566+
{
1567+
"subsubProp1": [
1568+
{
1569+
"name": "Name3"
1570+
},
1571+
{
1572+
"name": "Name4"
1573+
}
1574+
]
1575+
}
1576+
]
1577+
}
1578+
]
1579+
}
1580+
```
1581+
1582+
マッピング結果: パターン3
1583+
```json
1584+
{
1585+
"Prop1": [
1586+
{
1587+
"subProp1": [
1588+
{
1589+
"subsubProp1": [
1590+
{
1591+
"name": "Name1"
1592+
},
1593+
{
1594+
"name": "Name2"
1595+
}
1596+
]
1597+
},
1598+
{
1599+
"subsubProp1": [
1600+
{
1601+
"name": "Name3"
1602+
},
1603+
{
1604+
"name": "Name4"
1605+
}
1606+
]
1607+
}
1608+
]
1609+
}
1610+
]
1611+
}
1612+
```
1613+
1614+
各要素の区分が分かるよう、以下に図示した。
1615+
<img src="../media/media/image14.png" width="100%">
14491616

14501617
## 更新履歴
14511618

285 KB
Loading
747 KB
Loading

0 commit comments

Comments
 (0)