このページでは、オフラインで表示したり、他のツールで分析したり、Neo4j データベースでグラフ分析を行ったりするために、評価結果をエクスポートする方法について説明します。結果は次の方法でエクスポートできます。
HTML レポートをエクスポートする
評価レポートを HTML 形式の zip ファイルとしてダウンロードして、レポートをオフラインで表示したり、他のユーザーと共有したりできます。
レポートをダウンロードする手順は次のとおりです。
- ナビゲーション メニューで [評価] をクリックします。
- [評価] ページで、 矢印をクリックして特定の評価を表示します。
- [エクスポート] をクリックします。
- [HTML レポート] をクリックします。
- 省略可: 選択したアセットのみを含むレポートをダウンロードするには、アセットをフィルタしてから、[レポートをダウンロード] をクリックします。
レポートは ZIP アーカイブとしてパソコンにダウンロードされます。zip アーカイブには、評価内の各プログラムの HTML ファイルが含まれています。これらの HTML ファイルには、[評価] ページに表示される情報(概要、詳細なロジック、生成されたコードの提案など)が含まれています。
この zip アーカイブには、アーカイブ内のすべてのファイルへのリンクが記載された index.html という名前の目次ファイルも含まれています。
JSON レポートをエクスポートする
評価レポートを JSON 形式の zip ファイルとしてダウンロードして、他のツールで評価データを使用したり、カスタム分析に使用したりできます。
レポートをダウンロードする手順は次のとおりです。
- ナビゲーション メニューで [評価] をクリックします。
- [評価] ページで、 矢印をクリックして特定の評価を表示します。
- [エクスポート] をクリックします。
- [JSON レポート] をクリックします。
- 省略可: 選択したアセットのみを含むレポートをダウンロードするには、アセットをフィルタしてから、[レポートをダウンロード] をクリックします。
レポートは ZIP アーカイブとしてパソコンにダウンロードされます。zip アーカイブには、評価内のプログラムごとに JSON ファイルが含まれています。このファイルには、要約、詳細なロジック、コード提案など、収集されたすべてのデータが含まれています。
評価データを Neo4j データベースにエクスポートする
評価データを Neo4j データベースにエクスポートして、メインフレーム アプリケーション コンポーネント間の複雑な関係を分析してクエリできます。データは JSON Lines 形式でダウンロードされ、Neo4j データベースにインポートできます。
評価データを Neo4j データベースにエクスポートする手順は次のとおりです。
- 左側のペインで [評価] をクリックします。
- [評価] ページで、特定の評価の 矢印をクリックします。
- [エクスポート] をクリックします。
- [Neo4j graph] をクリックします。
ファイルは ZIP アーカイブ ファイルとしてパソコンにダウンロードされます。zip アーカイブにはグラフデータが含まれています。このファイルには、プログラム、JCL ジョブ、データセット、データベース、BMS マップのノードと関係が含まれています。
評価データをダウンロードしたら、次の手順で独自の Neo4j データベースにインポートできます。
Neo4j データベースがインストールされ、実行されていることを確認します。
APOC ライブラリをインストールします。JSON 形式のデータをインポートするには、APOC が必要です。
ダウンロードしたアーカイブから、グラフデータを含む JSON Lines ファイルを抽出します。このファイルの各行は、評価結果のノードまたは関係を表す JSON オブジェクトです。
JSON Lines ファイルを Neo4j データベース インストールの
importディレクトリにコピーして、APOC 手続きがfile:///を使用してアクセスできるようにします。大規模なデータセットでパフォーマンスを向上させるには、次のようなクエリを使用して、すべてのノードラベルの制約を作成します。
CALL apoc.load.jsonl('file:///<your-data-file>.jsonl') YIELD value WHERE value.type = 'node' UNWIND value.labels as label WITH distinct label CALL apoc.cypher.doIt("CREATE CONSTRAINT IF NOT EXISTS FOR (n:" + apoc.text.quoteLabel(label) + ") REQUIRE n.id IS UNIQUE", {}) YIELD value RETURN count(*);このクエリは、ファイルからノードラベルを読み取り、ラベルごとに
idプロパティに一意制約を作成します。これらの制約により、データのインポートとクエリを高速化するインデックスも作成されます。次のような Cypher クエリを使用してノードをインポートします。
CALL apoc.load.jsonl('file:///<your-data-file>.jsonl') YIELD value WHERE value.type = 'node' CALL apoc.merge.node(value.labels, {id: value.id}, value.properties, value.properties) YIELD node RETURN count(node);このクエリは、ファイルから各行を読み取り、ノードの場合は、
MERGEを使用してノードidに基づく重複を回避し、ラベルとプロパティを含む対応するノードを Neo4j データベースに作成します。ノードをインポートしたら、次のようなクエリを使用してリレーションシップをインポートします。
CALL apoc.load.jsonl('file:///<your-data-file>.jsonl') YIELD value WHERE value.type = 'relationship' MATCH (startNode{id: value.start.id}), (endNode{id: value.end.id}) CALL apoc.merge.relationship(startNode, value.label, {}, value.properties, endNode) YIELD rel RETURN count(rel);このクエリは、ファイルからリレーション オブジェクトを読み取り、前の手順で作成したノード間のリレーションを Neo4j データベースに作成します。
これらの手順を完了すると、評価データが Neo4j データベースに読み込まれ、Neo4j ブラウザなどのツールを使用してグラフを探索できます。
次のステップ
- メインフレーム アプリケーションをモダナイズする方法について学習する。