「G検定の勉強中だけど、”has-a”とか”is-a”とか、似たような関係性の違いがイマイチ分からない…」
「知識表現の分野って、なんだか難しそう…」
そんなお悩みをお持ちではありませんか?
こんにちは!AI分野の知識を分かりやすくお届けするブログへようこそ。
今回は、G検定の知識表現分野、特に意味ネットワークやオントロジーの基礎として頻出する**「has-a」関係**について、徹底的に解説します!
多くの受験者が混同しやすい「is-a」や「part-of」との違いも、この記事を読めばスッキリ解決!簡単なイラストと具体例、そしてG検定での問われ方までしっかりカバーします。
この記事を読めば、以下のメリットがあります。
- has-a、is-a、part-of の違いが明確に理解できる!
- G検定の知識表現分野の得点力がアップする!
- AIがどのように知識を扱っているかの基礎がわかる!
さっそく見ていきましょう!
そもそも「has-a」関係って何?
「has-a」関係とは、文字通り「AがBを『持っている』(have/has)」という所有の関係を表す、知識表現の基本的な概念です。
【具体例】
- 車 は エンジン を持つ (Car has-a Engine)
- 人 は 心臓 を持つ (Person has-a Heart)
- 会社 は 部署 を持つ (Company has-a Department)
ポイントは、「持っている側(車、人、会社)」と「持たれている側(エンジン、心臓、部署)」が、それぞれ独立したモノとして存在できる場合が多い、という点です。車がなくてもエンジン単体は存在しますし、人がいなくても(残念ながら)心臓というモノは存在しますよね。
最重要!「is-a」「part-of」との違いをイラストで理解しよう!
G検定で特に問われるのが、この「has-a」と他の関係性との区別です。ここでしっかり整理しておきましょう!
1. is-a(〜である): 継承の関係
- 意味: あるものが別のものの一種であることを示す「継承」の関係です。「A is-a B」は「AはBの一種である」という意味。下位概念から上位概念へ向かうイメージです。
- 例:
- 犬 は 動物 である (Dog is-a Animal)
- セダン は 車 である (Sedan is-a Car)

(上位概念) — is-a —> (下位概念)
2. part-of(〜の一部である): 部分の関係
- 意味: あるものが別のものの構成要素、つまり「部分」であることを示す関係です。「A part-of B」は「AはBの一部である」という意味。
- 例:
- タイヤ は 車 の一部である (Tire part-of Car)
- 指 は 手 の一部である (Finger part-of Hand)

(部分) — part-of –> (全体)
3. has-a(〜を持つ): 所有の関係
- 意味: あるものが別のものを「所有」している関係です。「A has-a B」は「AはBを所有している」という意味。
- 例:
- 車 は タイヤ を持つ (Car has-a Tire)
- 手 は 指 を持つ (Hand has-a Finger)

(所有者) — has-a –> (所有物)
「has-a」と「part-of」は裏返し?
上の例を見て「あれ?」と思った方、鋭いですね!
「タイヤは車の一部である (part-of)」と「車はタイヤを持つ (has-a)」のように、主語と目的語を入れ替えると、ちょうど逆の関係になることが多いのです。
これが混同しやすい最大のポイント! 見分けるコツは、「独立して存在できるか?」を考えることです。
- has-a (持つ側): タイヤがなくても「車」という概念は(不完全ですが)存在します。
- part-of (部分): 「車」という全体があって初めて「タイヤ」はその一部としての意味を持ちます。
まとめ表で最終確認!
関係 | 意味 | 例 | 視点 | 独立性 | G検定イメージ |
---|---|---|---|---|---|
is-a | 〜である (継承) | 犬は動物である | 分類・種類 | 下位は上位に依存 | 上位/下位概念 |
part-of | 〜の一部である (部分) | タイヤは車の一部である | 部分と全体 | 部分は全体に依存 | 構成要素 |
has-a | 〜を持つ (所有) | 車はタイヤを持つ | 所有者と所有物 | 比較的、それぞれ独立して存在しうる | 所有・属性 |
G検定ではこう問われる!出題ポイントと対策
G検定では、これらの関係性の区別が、主に意味ネットワークやオントロジー(知識を体系的に整理する枠組み)の文脈で問われます。
想定される問題形式:
ズバリ、選択問題でこれらの区別を直接問う形式が最も考えられます。
【例題1】
「『頭部は目を持つ』という知識を表現する関係として、最も適切なものは次のうちどれか?」
(a) is-a
(b) part-of
(c) has-a
【解説1】
頭部が目を「所有している」関係なので、正解は (c) has-a です。
ちなみに、「目は頭部の一部である」なら (b) part-of になりますね。
【例題2】
「意味ネットワークにおいて、『鳥』というノードから『翼』というノードへ引かれる関係を示すラベルとして、最も適切なものはどれか?」
(a) is-a
(b) part-of
(c) has-a
【解説2】
鳥が翼を「持っている」ので、正解は (c) has-a です。
対策のポイント:
- 具体例で覚える: 「車とタイヤ」「人と心臓」「犬と動物」など、具体的なセットで各関係性を記憶しましょう。
- 言葉の定義を正確に: 「所有」「部分」「継承(一種である)」というキーワードと関係性を結びつけましょう。
- 図のイメージを持つ: 上で示したような簡単な関係図を頭に思い浮かべられるようにしておくと、判断しやすくなります。
AIやプログラミングではどう使われる?(軽く知っておこう)
これらの関係性は、G検定だけでなく、実際のAI開発やプログラミングでも基礎として活用されています。
- 意味ネットワーク: AIが言葉や物事の関係性を理解し、知識を整理するために使われます。「鳥は飛ぶ」「鳥は翼を持つ」といった知識を線で繋いでいくイメージです。has-aはその線を引くルールの一つです。
- オブジェクト指向プログラミング: 例えば「車」という設計図(クラス)を作るときに、「エンジン」という別の設計図の部品(インスタンス)を内部に「持つ」形で設計することがあります。これにより、プログラムを部品ごとに整理し、再利用しやすくするメリットがあります。(この関係を「コンポジション」と呼ぶこともあります)
G検定対策としては、「AIやプログラムの世界でも使われる基本的な考え方なんだな」くらいの理解でOKです!
まとめ:has-aをマスターして得点源に!
今回は、G検定対策として重要な「has-a」関係について解説しました。
- has-a は「所有」の関係 (例: 車はエンジンを持つ)
- is-a は「継承」の関係 (例: 犬は動物である)
- part-of は「部分」の関係 (例: タイヤは車の一部である)
- G検定では、これらの区別が選択問題で問われる!
- 具体例とイラストで違いをしっかり理解するのが合格への近道!
知識表現の分野は、最初は少しとっつきにくいかもしれませんが、基本的な関係性を押さえれば着実に得点できる分野です。今回の記事が、あなたのG検定合格の一助となれば幸いです!
最後に、あなたの身の回りにある「has-a」の関係を探してみるのも、理解を深める良い練習になりますよ! (例:スマホはバッテリーを持つ、など)
学習、頑張ってください!応援しています!
コメント