ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

クラスとインスタンスの概念、実は同じことなのに、方法論がいろいろあるので、まとめてみた

2006-08-10 22:59:56 | Weblog

 クラスとインスタンスってありますよねえ。

 たとえば、学生って言う場合
  学校名
  学年
  クラス(学級)
  学生番号
  名前
  性別
 っていう情報(属性)がある。
 っていうことは、「学生」は、Classになる。

 で、たとえば、具体的に1人の学生さん
  学校名:ペンギン村高校
  学年 :1年
  クラス:3組
  学生番号:35番
  名前:のりまき あられ
  性別:女
 などは、インスタンスになる(あ、データはでたらめです)

 さて、このとき、
1.クラスとその属性の関係を表現する
2.その属性と実際の値(インスタンス)を表現する
っていうことは、何通りもあるわけです。

 たとえば、XMLで表現する、Javaのクラスと値で表現する、UMLで表現する、SQLで表現する。。。で、その表現方法をちょっと、まとめて見ました。

種類クラス関係を表すクラスと値を表す
UMLクラス図オブジェクト図
XMLDTD
XMLスキーマ
Relax
XMLインスタンス(タグと値)
JAVAクラス(値が入った状態)
SQLテーブルデータ
データ関連ER図値の一覧表
Accessテーブルのデザインテーブル(の値)編集
セマンティックWebRDFスキーマ
OWL
RDF


実際には、多少違ったりするところはあるんだけど、似通ったことを表現していたりする。なので、変換可能だったりします。JAXBのように(JAVAとXMLの変換)決まってるものもあるし、まあ、あんまり知られてないのもあるけど。。

 こんど、いつか、機会があったら、まとめておこうかなあ。。。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ER図をRDF化して、オントロジーを使って企業間のデータを統合(EAI)する。。。

2006-08-10 18:20:51 | Weblog

 たてつづけにセマンティックWebの話になってしまってごめんなさい。

エンタープライズ・セマンティックWeb
http://www.keyman.or.jp/search/kikan2/30001462_1.html?vos=nkeyovtw10000872


ってところに、(これは、キーマンズネットの会員(無料)にならないと見れないところにあるんだけど)企業間のデータ統合に、オントロジーを使うという例(見れる人へ、図6,7,8)がでている。

 たしかに、オントロジーをつかうと、同義語や上位概念などが定義できるので、言葉が違って定義していたり、細かく定義されていたものを、より大きな単位で集計するという場合には、効果的であろう(逆に、大まかに定義してあったのを細かく分割するっていうのは、どーなの?っていう問題はあるが。。)。

 で、問題なのは、オントロジーによって、RDFで記述されたデータが、統合できるっていうのはいいけど、そもそも、RDFに落とし込むには?
 表、つまりテーブルがRDFに落とせるって言うのは散々書いた。
 表はER図に落とせる。
 ってことは、ER図をRDFにおとせばいいか。。




■ER図からRDFへのおとしかた

 ER図において、エンティティ(四角のはこ)を、クラスとしよう。で主語。
 ER図における、属性名(名前、住所など)は、RDFの述語(プロパティ)
 実際の値は、リテラルまたは、ノードになる。
 リテラルとノードの違いは、
  外部キーとしてIDが入っているものは、ほかのクラスのID=>ノード
  そうでなく、値そのもの=>リテラル
 となる。

 うん、落とせそうだ。

 あとは、そこから出てきた、クラス(エンティティ)と、属性名(プロパティ)を、OWLで定義するのかな?




 ただ、OWLも、そのまま書くとしたらたいへん!
 クラスと属性名からOWLを作り出す、分かりやすいツール(RDFの表みたいに)が必要だよね。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

アメブロ、Goo,はてながグーグルを抜くには(内容はブログとセマンティックWebの融合話)

2006-08-10 17:00:24 | Weblog

 キーワード検索より条件にあった検索として、セマンティックWebがあるが、それについて、グーグルが否定的なことや、そのグーグルの意見に対し、セマンティックWebで定義されるメタデータのRDFを、Excelのような表形式に変形すれば、入力は簡単だし、それをWiki化すれば、みんな入れてくれるんじゃないか?っていうことを、昨日のブログに書いた。

 今日は、その具体的方法論についての例を挙げてみたいと思います。
 はてなをベースに説明します。もちろん、ほかのブログでも、このようなものを作るのは可能だと思います。ただ、説明するのに、画面がそろっているから、はてなにしました。
 で、お題は、病院について。




はてなに日記を書くと、以下のように、キーワードのところにラインを引いてある文字があります



 ちなみに、このかたのブログは、ここ
 このブログには、病院は線がひかれていないのですが、かりに引いてあったとします。

 この灰色のアンダーラインは、クリックすると、その用語が書いてあるところに飛びます。
 そこで、今回、この用語が書いている欄に、新規作成ボタンを付けます。



 この新規作成ボタンをクリックすると、以下のように、検索項目を登録するダイアログが出ます。
 


これで、検索項目を入れると、はじめ、検索項目だけができます。
そこで、そのあとに(後述する方法で)データを追加すると、こんなかんじになります。



データを削除・追加・更新できる方法は、まず、「データ追加/修正/削除」をクリックすると、以下のような画面が出ます。



この画面から、データを更新したり、追加したり、削除します。

検索については、「検索」ボタンをクリックすると、以下のような画面が出ますので、
そこに検索条件を入れます。



なお、個々の病院についてのブログを見たい場合ですが、一覧のはじめの項目(個々では病院名)のところをクリックすると、以下のように



個別の病院(一般的に言うと、個別のレコード)情報がでます。
ここのトラックバックから、その病院に関係しているブログが見れますし、トラックバックURLが書いてあるので、トラックバックもはれます。




 ってなわけで、メタデータでの検索という意味では、さほど技術的に難しいことはなく、Wikiを形式ばってやっているだけという感じです。

 セマンティックWebにおける、オントロジー部分に関しては、まずは、このようなRDFができた上で、考えていけばいいと思います。なにも検索対象データがないところで、オントロジーばっかりがんばっても、効果が。。(^^;)

 また、はてなのように、ブログからキーワードを抽出するってことは、これは、JUMANとか、茶せんとかを使ってもらって、形態素解析した名詞から、ある一定以上出た単語について、キーワードとして、そのキーワードを含んでいたら、リンクするって言う形になると思います。




 と考えていくと、この方法において、難しいところっていうのは、技術的にも、そうそうないわけで、さらに、ウィリアムのいたずらでも思いつくんだから、だれでも思いつきそうなもんなんだけど、じゃあ、なぜ、どこもやってこないかというと、やっぱり、リスクの問題じゃないかと思います。

 そんなことより、アメリカを権威として、グーグルがやっていることをまねるとか、他社さんで成功したことを真似るとか、そういうほうが、安全だから、そっちをやってるんだと思います。

 じゃなきゃ、NHK技研とか、すでに、テキストから動画にして、そのテキストの指示にしたがって、表情を変えるという技術はあるし、メールにおいては、そういうこともできているのに、ブログをやっているWeb2.0の企業は、どこも、
・まず、ブログを対話型にするということすらやっていないし
 (キャラクターが出てしゃべらない)
・ましてや、そのキャラクターがブログの指示に従って表情を変えるなんて、ありえないし
いろんなところからRSSをよんできて、今何がはやってるって教えてくれる
 ブログネタ探しをしてくれるキャラクターも出ない。

これらは、だーれでも思いつきそうなもんなのに(だって、メールでやってたら、ブログでやってたっておかしくないし、たしか、一番最後のは、むかし、まぐまぐかなんかのところで、書いてあった気がする)、で、技術的にできそうでも、どこもやんないと。。グーグルも他社もやんないから。




 で、Web2.0の企業は、SNSとか、他社さんが、やりだすと、みんな同じサービスをしだす。。そのため、技術者は疲労困憊してしまう(同じサービスをやるにしても、規模が大きくなると、そのお守りだけでたいへんなのだ、だから、「これはうちにはあわない、のでやらない」という決断が必要だが、そんなことは上の人にはわからない、なので、全サービスやろうとして、お守りで終わってしまう)。

 結果として、技術屋さんはやめてしまうと。。

 結局、いまのWeb2.0企業が面白くなるには、
 そしてその1つとして、グーグルができねーみたいなこと言ってるセマンティックWebを、上みたいなやり方でやって、日本企業が出しぬくには、技術の問題じゃないです。

 だれをCTOに入れても関係ありません。
 技術は、上に書いたとおりです。みんな知ってるような話です。

 あとは、グーグルもどこもやっていないようなことをほんとにやっちゃうのかって言う、
 社長の、勇気と努力と決断力です!!

 って、今日はここまで引っ張って、結局、マーフィー岡田オチかい。(^^)

P.S きのう、サイバーエージェントの藤田社長のブログみてみよう!と書いたので、トラックバックしてみました。見てくれる人、ふえるかなあ。。(なことないかな??)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

UMLによるMDAと日本版SOX法のワークフローと産能大記号と最小基本単位

2006-08-10 12:15:25 | Weblog

 以前のブログで、UMLによる自動生成を可能にさせるには、

・業務フローを、産能大記号のようなユーザーにわかる最小基本単位で表現し
・その最小基本単位に相当するライブラリをあらかじめ作成しておき
・そのとき必要な引数を、業務フロー内で定義すれば、

 産能大記号で書いた業務フローって言うのは、アクティビティ図と大して違わないのでへんかんできるわけで、その引数関係がしっかり記述していれば、最小基本単位をその引数で呼び出すというプログラムが自動生成できるわけで、そうすると、最小基本単位はライブラリになっているのだから、そのまま実行できるということを書いた。

 で、最近OpenCube Liteっていうのの、ワークフロー作成画面をみた。(ここ
 このワークフローは、産能大記号で書いた業務フローや、アクティビティ図とちがい、だれがやっている処理か分かりにくいけど、その部分さえはっきりすれば、自動化できるかも。
 というのも、業務の最小基本単位が、どうやら、左側に定義されているようなので、この左側の部分に相当するライブラリができる、あるいはプログラム作成仕様書を過不足なく記述するための引数が分かり、その引数が分かったとき、プログラムの作成方法が明確になれば、(そして、上記の誰がやっているという部分が分かれば)産能大記号で書いた業務フローのように、変換できてきそうだ。

 つまり、SOX法がらみで、業務手順を決めていく会社が今後多くなると思うが、そのとき、ワークフローをプログラム可能な最小単位まで落とし、そのときの引数を明確にすれば、あとは最小単位を実装するだけで、MDAのような、自動化が可能でないかと思う。
(このとき使うツールはOpenCube Liteでもいいし、そうでなくてもいい。最小単位も、産能大記号でもいいし、そうでなくてもいい)
 SOX法がらみのワークフローツールなどでは、意外と面白いツールが出てくるかもしれない。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする