File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212- [ 処理概要] ( #処理概要 )
1313- [ エラーメッセージ] ( #エラーメッセージ )
1414- [ サーバー設定値] ( #サーバー設定値 )
15+ - [ 付録] ( #付録 )
1516- [ 更新履歴] ( #更新履歴 )
1617
1718## 目的・用途
@@ -1440,12 +1441,178 @@ JSON-LD形式メタデータをマッピング定義に従ってWEKO3の登録
14401441
14411442 ``` json
14421443 {
1443- "extra" : " {" 著者.出身: 東京", " ファイル.改行コード: LF" }"
1444+ "extra" : " {' 著者.出身: 東京', ' ファイル.改行コード: LF' }"
14441445 }
14451446 ```
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 . 各リストの深さを一致させることができるため、JSON-LD形式の各リストの要素に合わせてマッピング処理を行う。
1461+ 2 . アイテムタイプのリストに格納される回数と一致するまで、JSON-LD形式メタデータのリストの外側から順に、リストの0番目の要素を取得して処理を行い、一致したら上記[ 1] と同様のマッピング処理を行う。
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
You can’t perform that action at this time.
0 commit comments