すべてがインストールされ、正しく設定された環境にすばやく簡単にアクセスするには、GitHub Codespaces または GitLab GitPod を使用できます。これらは、必要なプラグイン、Java バージョン、および Maven がプリインストールされた VS Code を使用したリモート コーディング環境を提供します。
Javadoc はここにあります。 Gaffer のドキュメントは gaffer-doc リポジトリに保管され、GitHub ページ (gchq.github.io) で公開されます。
Gaffer をローカルで構築するには、Java 8 または 11 と Maven が *nix 環境にローカルにインストールされている必要があります。 MS Windows はほとんどの目的で動作しますが、Windows での Hadoop サポートが制限されているために Hadoop を利用するテストが失敗するため、お勧めしません。 Gaffer は新しいバージョンの Java でコンパイルされますが、特定の外部依存関係で新しい Java がサポートされていないため、一部のテストは失敗します。
Gaffer をビルドするには、最上位ディレクトリでmvn clean install -Pquick
実行します。これにより、Gaffer のすべてのコア ライブラリと、データのロードとクエリの方法のいくつかの例が構築されます。
私たちの作業方法の詳細については、開発者向けドキュメントをご覧ください。簡単に言うと:
Gaffer は Maven Central でホストされており、独自の Maven プロジェクトに簡単に組み込むことができます。
Java API から Gaffer を使用する場合に必要な依存関係は、Gaffer グラフ モジュールと、データの保存に使用される特定のデータベース テクノロジ (Accumulo ストアなど) のストア モジュールのみです。
< dependency >
< groupId >uk.gov.gchq.gaffer</ groupId >
< artifactId >graph</ artifactId >
< version >${gaffer.version}</ version >
</ dependency >
< dependency >
< groupId >uk.gov.gchq.gaffer</ groupId >
< artifactId >accumulo-store</ artifactId >
< version >${gaffer.version}</ version >
</ dependency >
これには、他のすべての必須の依存関係が含まれます。必要に応じて、他の (オプションの) コンポーネントをプロジェクトに追加できます。
gafferpy リポジトリには、操作を実行できる Python シェルが含まれています。
gaffer-docker リポジトリには、Docker または Kubernetes を使用して Gaffer を実行するために必要なコードが含まれています。
koryphe リポジトリには、Java Function API に基づいてデータのフィルタリング、集計、変換を行うための拡張可能な関数ライブラリが含まれています。それは Gaffer の依存関係です。
Gaffer は Apache 2 ライセンスに基づいてライセンスされており、Crown Copyright によって保護されています。
Copyright 2016-2023 Crown Copyright
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.