2012-02-20 8 views
2

私はRDFの新人です。おそらく、私の質問はあまりにも愚かで尋ねることはできません。RDFとしてのワークフローグラフ?

私はRDFとして表現しようとしている次のワークフローを持っています。私はRDFとその使用法の背後にある理論を理解していますが、私はこのグラフのRDFを作成する方法に立ち往生しています。助けていただければ幸いです。

ありがとうございます。

〜Codera

Network graph

答えて

5

開始するには、エッジをモデルにしたいと思いますようにRDFのプロパティです:その後、あなたはM(1を関連付けるために、それらを使用することができます

:propose rdf:type rdf:Property; 
    rdfs:label "propose". 
:accept rdf:type rdf:Property; 
    rdfs:label "accept". 

.. N):

:M1 :propose :M2. 
:M2 :propose :M3. 

これは、大まかに、ダイアドを表すRDFグラフを形成しますあなたは上記のグラムです。アプリケーションで必要に応じて、各M(1..N)に追加のプロパティをアタッチすることができます。また、それらをrdfs:Classオブジェクトとしてモデル化し、それらのクラスのインスタンスにプロパティを関連付けることもできます。

開始するのにふさわしい場所であるprimerを読んでいない場合は、モデル化しようとしているものにかなり近いと思われるいくつかの例があります。スキーマやオントロジのオーサリングでは、テキストエディタで簡単に手作業で作成し維持することはあまり悪くはありませんが、特にOWLを使い始める場合は、Protegeを使用して複雑さが増していくのを見てください。

アプリケーションを構築するためのツールとしては、最初にSesameまたはJena APIのいずれかを使用することをお勧めします。 RDFの読み書き、RDFの使用に必要なすべてのビットを提供します。私はセサミをお勧めします、私はそれが使いやすいと思うし、より多くのデータベースオプションが利用可能です。あなたがJavaプログラマでないなら、python用のrdflibと.Net用のdotNetRdfがあります。いくつかのオプションがあります。

+0

丁寧な返信をありがとう。私は問題を 'rdfs:class'のセットとしてモデル化することを選択しました。私は 'Node'と' Arc'の2つのクラスを持っています。関係: 'hasIncomingArc'、' hasOutgoingArc'、 'hasSourceNode'、' hasDestinationNode'です。私は、JenaとSPARQLを私のアプリケーションに使用する予定です。私はいくつかの例を試していて、快適に感じています。 – PCoder