2012-05-02 3 views
6

私は自分のアプリケーションにオントロジー(内部)を考えようとしています。しかし、できる限り私は借りたいです。既存の異なるオントロジーを見てみると、重なり合っていることがわかります。たとえば:foaf:Personとdbpedia:Personなど。どちらもエージェントクラス、thingクラスなどのサブクラスですが、それらは異なるプロパティを持つことがあります。彼らはなぜ互いを再利用/拡張しなかったのですか?RDF名前空間(セマンティックデータ)

私の質問:人またはその逆:

1)なぜDBpediaの使用FOAFませんでしたか?

2)どのようにb/w dbpediaを選択しますか:Personとfoaf:Personまたは自分で作成しますか?

これは非常に新しいです。私の無知を許してください。

答えて

5

1)DBpediaにはさまざまな種類のクラスが数千種類あり、DBpediaデータの公開を開始する前に他のクラスのWebを検索して再利用する必要があったことはありません。そこで彼らは独自のクラスで独自のDBpediaオントロジを作成しました。場合によっては、DBpediaオントロジークラスを、既存のクラスを発見するときに、後でrdfs:subClassOfまたはowl:equivalentClassを介して既存のクラスにマッピングします。また、FOAFが "Person"を定義する方法とDBpediaが "Person"を定義する方法には微妙な違いがあるかもしれません。たとえば、ハリー・ポッターのような架空のキャラクターは、人であるかどうかですか?独自のクラスを定義して、定義を完全に制御できるようにする方が安全です。

2)複雑な決定です。あなたのニーズをカバーするFOAF、DC、SKOSなどの十分に確立された語彙がある場合、あなた自身の発明ではなく、常に再使用する必要があります。該当語彙が存在しない、またはあなたが語彙の出版社が評判で、長期的にアップし、安定した語彙を続けることを信用していない場合、それはあなた自身を作成するために、おそらく良いでしょう。場合複数のボキャブラリを組み合わせたり、既存のボキャブラリを独自の(ネームスペース内の)いくつかのプロパティで拡張することができます。独自のクラスとプロパティを定義する場合、それらを常に既存のクラスやプロパティにマップするようにしてください。既存の複数のボキャブラリの中から選択する場合は、より広く使用されているボキャブラリを選択します。 LOVLODstatsSindice Analyticsなどのサービスがこれに役立ちます。

+0

ありがとうございました。それは私にいくつかのアイデアや視点を与える。 –