私は実際に RDFS モデルを作成しようとしていますが、単一のインスタンスを持つクラスを宣言する方法があるかどうか疑問に思っています。
設計されたスキームは一種のグラフ用であり、単一のノードを「ルート」として設計したいと考えています。サブクラスまたはプロパティを使用する必要がありますか? 私は、OWL がより多くのセマンティック語彙を提供していることを知っていますが、「基本」にとどまるつもりです。
いいえ、RDFS ではできません。また、それが有用なことかどうかもわかりません。クラスを定義し、そのクラスをその型として持つ単一のリソースを宣言するだけです。そのタイプを持つ他のリソースは存在しないと主張する利点は何ですか?
あなたの「ユースケース」を読んだ私の印象は:hasRoot
、物事が1つのルートしか持てないように、機能的なプロパティが好きだということです。cygri が言ったように、これは純粋な RDFS では実行できませんが、OWL の単純なフラグメントで十分です。
:hasRoot a owl:FunctionalProperty .
次に、特定のエンティティに対して、関係が保持x
されるエンティティは 1 つしか存在できません。次に、次のデータがある場合:y
x :hasRoot y
:x :hasRoot :y .
:x :hasRoot :z .
次のように結論付けることができます。
:y owl:sameAs :z .
ただし、ほとんどの場合、この種の推論は必要なく、アプリケーションが単一のルートが定義されていることを保証する限り、cygri が提案することで十分かつ単純です。