K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[89] メタデータの関係付けプログラムについて
投稿者:ねこさん
2007/02/20 02:13:25

初めまして,ねこさんといいます。 質問です。 メタデータのタグの間にある語彙と別のメタデータのタグの間にある語彙 を関係付けDBに反映するプログラムをJAVAで作成しようとしているのですが, なんせ初めてなもので何処からはじめていいのかが解りません。 またメタデータは,XML形式(LOM)です 例 Aというメタデータ内 <Keyword>仲間</Keyword> <PKeyword>学校</PKeyword> Bというメタデータ内(Aと同じく) <Keyword>相性</Keyword> <PKeyword>仲間</PKeyword> である場合,(特に脈絡は、ありませんがメタデータには,タグが        KeywrodとPKeywrodがありその間に語彙が記述されています) AのKeyword属性とBのPKeyword属性が同じなので AとBは関係しているようにしたいのです。 これをDBに記述すると メタID メタデータ名 Keyword属性 PKeyword属性 リンク先ID  1     A     仲間      学校      2  2     B     相性      仲間      このようにKeyword属性とPKeyword属性が同じメタデータがあった場合 Keyword属性の方にリンク先IDを追加する。 (リンク先IDは,Keyword属性とPKeyword属性が同じだった場合の PKeyword属性のメタIDが反映される。上記で記すと2となる) また新しくメタデータが追加された場合,同じくDBに反映させたいのです。 どのようにプログラムをすればよろしいでしょうか? またこれを実現するための オブジェクト指向が聞けるとすごく嬉しいです。 (これを先に教えていただけると嬉しいです) 長々と申し訳ありません。どうぞ宜しくお願い致します。 以下にメールを書きます 3aeem029@keyaki.cc.u-tokai.ac.jp
[この投稿を含むスレッドを表示] [この投稿を削除]
[90] Re:メタデータの関係付けプログラムについて
投稿者:(ぱ)
2007/02/20 02:13:25

>初めまして,ねこさんといいます。 ねこさんさん(でいいんでしょうか?) はじめまして。 >例 >Aというメタデータ内 ><Keyword>仲間</Keyword> ><PKeyword>学校</PKeyword> > >Bというメタデータ内(Aと同じく) ><Keyword>相性</Keyword> ><PKeyword>仲間</PKeyword> ええと、私はLOMについては今調べた知識しかありませんので、見当外れの ことを言ってましたらすみません。 このモデルには正直ちょっと違和感を感じます。 a)あるデータについて、Keywordはひとつのような気はしませんし、 b)KeywordとPKeywordの区別はつけられるのか、という気がしますし、 c)LOMだと、他のリソースを参照する場合はRelationという要素を使うようですし。 >AのKeyword属性とBのPKeyword属性が同じなので >AとBは関係しているようにしたいのです。 > >これをDBに記述すると >メタID メタデータ名 Keyword属性 PKeyword属性 リンク先ID > 1     A     仲間      学校      2 > 2     B     相性      仲間      Keywordがひとつでよく、KeywordとPKeywordの区別があってよく、 ひとつのメタデータが参照するメタデータもひとつでよいのなら、 このテーブルでよいのでしょうが、それでよいのでしょうか? ひとつのメタデータには複数のキーワードがあり、 あるメタデータから、共通するKeywordを含む(全ての?)メタデータへの 参照を持ちたいのなら、テーブルを分けて正規化するのがセオリーの ように思うんですが、どうでしょうか。 >またこれを実現するための >オブジェクト指向が聞けるとすごく嬉しいです。 >(これを先に教えていただけると嬉しいです) 「オブジェクト指向が聞けると」というのはちょっとよくわかりませんが (^^; a)メタデータクラスとキーワードクラスができて、 b)メタデータクラスはキーワードクラスを0..*で集約していて、 c)キーワードクラスは、そのキーワードにより関連するメタデータへの  参照を保持するようにする。 または、LOMの構造を意識するなら、 a)メタデータクラスとキーワードクラスとリレーションクラスができて、 b)メタデータクラスはキーワードクラスを0..*で集約していて、 c)メタデータクラスはリレーションクラスも0..*で集約していて、 d)リレーションクラスは、そのメタデータと、何らかの要因(必ずしもそれは  キーワードの一致でなくてもよい)で関係するメタデータへの参照を  保持するようにする。 ということになるのではないでしょうか。 ズレたこと言ってましたらすみません。
[この投稿を含むスレッドを表示] [この投稿を削除]
[91] Re:メタデータの関係付けプログラムについて
投稿者:ねこさん
2007/02/20 02:13:25

はじめまして(ぱ)さん。有難うございます(^0^) ものすごい早い回答で嬉しいです。またご丁寧な説明有難うございます。 ならびに少々わかりづらい文面があったこと申し訳ありません。 プログラム初心者の私にとって,メタデータの関係付けプログラムを 作成するのは,色々と難解な所が有ります。・・(ToT) 頑張ります。 >a)あるデータについて、Keywordはひとつのような気はしませんし、 確かに複数ある場合があります。 >b)KeywordとPKeywordの区別はつけられるのか、という気がしますし、 タグ検索のような事ができると聞いた事が有ります。例えばKeywordで検索すると <Keyword></Keyword>の属性をメタファイルからチョイスし(複数ある場合もあります) ただし聞いた事があるだけなので,実際にみた事はありません。仮に無かった場合は, JAVAプログラムでタグから属性見つけるプログラムを作成することは,できるできるでしょうか?出来たらいいんですけど・・・ >c)LOMだと、他のリソースを参照する場合はRelationという要素を使うようですし。 LOMのRelationは,他のコンテンツ(LOMではない)を関係付ける記述です。また そのコンテンツを,LOM作成者が知っている必要があります。 私がやろうとしている事は,メタデータ同士を関連付けるプログラムでござります。 メタデータAを登録すると⇒自動的に関連付ける という感じです。つまり他のオブジェクトを意識せずに関連付ける事が出来ます。 「属性を記述することで関係を持たせる」というコンセプトで考えています。 >ひとつのメタデータには複数のキーワードがあり、 >あるメタデータから、共通するKeywordを含む(全ての?)メタデータへの >参照を持ちたいのなら、テーブルを分けて正規化するのがセオリーの >ように思うんですが、どうでしょうか。 流石でございます。確かに今のDB構造では,ダメだと思っていました。 今どのように正規化するのかも検討しています。←実はDBについても初心者なので                       本を抱えて勉強中です。                       本は,SQLでござんす。。 何か良い正規化の仕方は,あるでしょうか? Keyword属性 PKeyword属性 リンク先ID この3つは,複数ある場合があります。 >a)メタデータクラスとキーワードクラスができて、 >b)メタデータクラスはキーワードクラスを0..*で集約していて、 >c)キーワードクラスは、そのキーワードにより関連するメタデータへの > 参照を保持するようにする。 > >または、LOMの構造を意識するなら、 > >a)メタデータクラスとキーワードクラスとリレーションクラスができて、 >b)メタデータクラスはキーワードクラスを0..*で集約していて、 >c)メタデータクラスはリレーションクラスも0..*で集約していて、 >d)リレーションクラスは、そのメタデータと、何らかの要因(必ずしもそれは > キーワードの一致でなくてもよい)で関係するメタデータへの参照を > 保持するようにする。 これも勉強します。「0..*で集約」の意味が解っていないという寂しさ・・ 知識が無く申し訳ないです。。。 以下にアドレス 3aeem029@keyaki.cc.u-tokai.ac.jp
[この投稿を含むスレッドを表示] [この投稿を削除]
[92] Re:メタデータの関係付けプログラムについて
投稿者:(ぱ)
2007/02/20 02:13:25

>>b)KeywordとPKeywordの区別はつけられるのか、という気がしますし、 >タグ検索のような事ができると聞いた事が有ります。例えばKeywordで検索すると ><Keyword></Keyword>の属性をメタファイルからチョイスし(複数ある場合もあります) XMLから特定の要素を抜き出したいのであれば、DOMなりSAXなり使えばよいと思います。 ただ、私が「KeywordとPKeywordの区別はつけられるのか」と書いているのは、 「PKeywordはそもそも不要では?」ということです。 既に例示されているA, Bでは、AがBへのリンクを持つだけでなく、BもAへの リンクを持つことになるのでは? つまりPKeywordは不要で、 単純に「共通のKeywordを含むメタデータへリンクする」ということに なるのではないかと思うわけです。 >>c)LOMだと、他のリソースを参照する場合はRelationという要素を使うようですし。 >LOMのRelationは,他のコンテンツ(LOMではない)を関係付ける記述です。また おっと、これは私が誤解していました。失礼しました。 >何か良い正規化の仕方は,あるでしょうか? >>a)メタデータクラスとキーワードクラスができて、 >>b)メタデータクラスはキーワードクラスを0..*で集約していて、 >>c)キーワードクラスは、そのキーワードにより関連するメタデータへの >> 参照を保持するようにする。 ここのところ、修正します。あるキーワードから、そのキーワードにより 関連するメタデータは複数ありますよね。 >>または、LOMの構造を意識するなら、 >> >>a)メタデータクラスとキーワードクラスとリレーションクラスができて、 >>b)メタデータクラスはキーワードクラスを0..*で集約していて、 >>c)メタデータクラスはリレーションクラスも0..*で集約していて、 >>d)リレーションクラスは、そのメタデータと、何らかの要因(必ずしもそれは >> キーワードの一致でなくてもよい)で関係するメタデータへの参照を >> 保持するようにする。 >これも勉強します。「0..*で集約」の意味が解っていないという寂しさ・・ 正直、この件に関する限り、特にOO用語を使う必要はないように思います。
[この投稿を含むスレッドを表示] [この投稿を削除]