ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。
GitLab Orbit Localスキーマ参照
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ版
GitLab Orbit Localスキーマ参照は、利用可能なノード、エッジ、およびローカルグラフ内のリレーションシップを定義します。
ソースコードノード
以下のセクションでは、利用可能なノードとそのプロパティを定義します。
Directory
インデックス付けされたリポジトリ内のディレクトリ。
| プロパティ | 定義 |
|---|---|
id | ディレクトリの固有識別子 |
project_id | インデックス付けされたリポジトリの識別子で、絶対パスから導出されます。GitLabプロジェクトIDではありません。 |
branch | ディレクトリがインデックス付けされたブランチ |
commit_sha | ディレクトリがインデックス付けされたコミット |
path | リポジトリのルートディレクトリに対するパス |
name | ディレクトリ名 |
File
インデックス付けされたリポジトリ内のソースコードファイル。
| プロパティ | 定義 |
|---|---|
id | ファイルの固有識別子 |
project_id | インデックス付けされたリポジトリの識別子で、絶対パスから導出されます。GitLabプロジェクトIDではありません |
branch | ファイルがインデックス付けされたブランチ |
commit_sha | ファイルがインデックス付けされたコミット |
path | リポジトリのルートディレクトリに対するパス |
name | 拡張子を含むファイル名 |
extension | 先頭のドットを除いたファイル拡張子 |
language | 検出されたプログラミング言語、一致する言語がない場合はunknown |
size_bytes | ファイルがインデックス付けされたときに測定した、バイト単位のファイルサイズ |
reason | skip_excluded_extensionやfault_invalid_utf8など、ファイルがスキップされた、または解析に失敗した理由。ファイルが正常に解析された場合は空。 |
Definition
ファイルで宣言された関数、クラス、メソッド、モジュール、またはその他の名前付きシンボル。
| プロパティ | 定義 |
|---|---|
id | 定義の固有識別子で、ファイルパスごとに生成されます。2つのインデックス付けされたリポジトリ内の同じ関数は、異なるIDを持ちます。 |
project_id | インデックス付けされたリポジトリの識別子で、絶対パスから導出されます。GitLabプロジェクトIDではありません。 |
branch | 定義がインデックス付けされたブランチ |
commit_sha | 定義がインデックス付けされたコミット |
file_path | 定義を宣言するファイルのパス |
fqn | 関数、クラス、モジュール、メソッド、構造、enum、またはトレイトの完全修飾名 |
name | ネームスペース修飾を含まない短縮名 |
definition_type | Class、Function、Method、Structなど、定義の種類。値は先頭が大文字で、言語固有です。 |
start_line | 定義の最初の行 |
end_line | 定義の最後の行 |
start_byte | 定義が開始するバイトオフセット |
end_byte | 定義が終了するバイトオフセット |
start_char | start_line上で定義が開始するカラム |
end_char | end_line上で定義が終了するカラム |
search_text | fqnとfile_pathから抽出された小文字の識別子トークン。ランク付けされたコード検索に使用されます |
token_count | search_text内のトークン数 |
ImportedSymbol
ファイル内のインポートステートメント、またはファイル間のシンボル参照。
| プロパティ | 定義 |
|---|---|
id | インポートされたシンボルの固有識別子 |
project_id | インデックス付けされたリポジトリの識別子で、絶対パスから導出されます。GitLabプロジェクトIDではありません。 |
branch | シンボルがインデックス付けされたブランチ |
commit_sha | シンボルがインデックス付けされたコミット |
file_path | インポートを含むファイルのパス |
import_type | Use、NamedImport、CjsRequireなど、インポートの種類。値は先頭が大文字で、言語固有です。 |
import_path | シンボルのインポート元のモジュールまたはパス |
identifier_name | インポートされたシンボルの名前。ワイルドカードインポートおよび副作用インポートの場合は空。 |
identifier_alias | インポートがシンボルをバインドするローカル名。アナライザーが何も記録しない場合は空。一部の言語では、インポートがリネームされていなくても、それが入力されます。 |
start_line | インポートの最初の行 |
end_line | インポートの最後の行 |
start_byte | インポートが開始するバイトオフセット |
end_byte | インポートが終了するバイトオフセット |
start_char | start_line上の、インポートが開始するカラム |
end_char | end_line上の、インポートが終了するカラム |
リレーションシップ
ローカルグラフ内のエッジには、以下のリレーションシップタイプがあります:
CONTAINSDEFINESIMPORTSCALLSEXTENDS
同じリレーションシップタイプで異なるノードタイプを接続できます。
| リレーションシップタイプ | ソースノード | ターゲットノード | 説明 |
|---|---|---|---|
CONTAINS | Directory | Directory | ディレクトリにサブディレクトリが含まれます |
CONTAINS | Directory | File | ディレクトリにファイルが含まれます |
DEFINES | File | Definition | ファイルで、クラスや関数などのコード定義を定義します |
DEFINES | Definition | Definition | 外側の定義には、クラスとそのメソッドなど、ネストされた定義が字句的に含まれます |
IMPORTS | File | ImportedSymbol | ファイルにインポートステートメントが含まれます |
IMPORTS | ImportedSymbol | Definition | インポートされたシンボルが別のファイル内の具体的な定義に解決されます |
CALLS | Definition | Definition | 定義から別の定義を呼び出します |
CALLS | Definition | ImportedSymbol | 定義から、定義に解決されていないインポートされたシンボルを呼び出します |
CALLS | File | DefinitionまたはImportedSymbol | いずれの定義にも含まれないトップレベルの呼び出しサイト |
EXTENDS 1 | Definition | Definition | 定義で、ファイル内に宣言された関数、クラス、メソッド、モジュール、またはその他の名前付きシンボルのスーパータイプを宣言します |
補足説明:
EXTENDSは子から親を指します。ベースクラスを継承するクラスはソースノードであり、ベースクラスはターゲットノードです。