Monthly Archives: 10月 2013

IteratorパターンでのIteratorインターフェース

恥ずかしながら、今までデザインパターンはかい摘んだだけでしっかりと勉強したことがなかったので、ここらでしっかり学んで置こうと思い、増補改訂版Java言語で学ぶデザインパターン入門を読んでいる。GOFは挫折しそうな気がするので。

そもそも情報系学科で四年間のうち一度もデザインパターンを学ぶ機会ないってのはいかがなものか。就職活動の負のスパイラルのせいで就職予備校という謎の方向に進んでしまっている大学。就職予備校と開き直ったとしても、授業カリキュラムにデザインパターンは必須なのでは?

とまぁ無駄な話はここまでで、まずはIteratorパターン。

クラス図を書いてみた。
Iteratorパターンクラス図

で、本ではIteratorインターフェースを下のように定義している。

public interface Iterator {
	public abstract boolean hasNext();
	public abstract Object next();
}

しかしここで疑問。Javaにはjava.util.Iteratorがあるからだ。

Iteratorインターフェースを新たに定義する必要あるのかぐぐってみたらこんな記事が。

Iteratorパターンを書いてて思ったこと

どうやら本がJava5以前の内容だからこうなっているらしい。

java.uril.IteratorでIteratorインターフェースを実装する。java.util.Iteratorの実装ではremoveメソッドが必要になるので、下のように形だけのremoveメソッドを追加。

@Override
public void remove() {
	throw new UnsupportedOperationException();
}

こうしたら今度Aggregateインターフェースもいらなくなるんだけど、そこはIterableインターフェースで代用できる。Iterableインターフェースで実装したクラスには拡張for文が使用できる。

ヤフカテLOD説明追加

ヤフカテLODのトップページを整えて説明を追加した。

さてライセンスをどうするか。

Yahoo!ガイドラインによるとなんとも微妙な所。

ヤフカテLODはYahoo!のAPIを使ったアプリというわけではなく、APIを使ったプログラムにより生成されたデータ。「ソフトウェア」でも「開発ソフトウェア」でもなく「データ」だと思うのでCC BY-SAあたりで公開して大丈夫だとは思うが・・・屁理屈かな?

そもそもYahoo!さんはLODに協力的で寛容な精神のすばらしい企業だと信じているので削除しろとか言わないはず(チラッ

MA9に関連作品を応募してみたのでヤフカテLODがYahoo!さんの目に入ってくれると信じる。そして問題があれば何かコメントくれるはず(チラッチラッ

そんなわけで問題なければライセンスつけて公開する。というか現状でも公開はしてしまっているのでアレ。

直接聞けば早いんだろうけど、「ダメです。はい削除削除。訴訟。」とか言われたら今までの苦労が水の泡になるので怖い。

Yahoo!カテゴリRDF→LOD

先日ツイッターでYahoo!カテゴリRDFを公開したところ、セマンティックWeb界で有名な神埼さんにフィードバック頂いたので、アドバイスを頼りに大幅に修正した。

カテゴリのURIを新たに生成し、URI参照解決、コンテンツネゴシエーションなどしっかりして、完全にLODとして公開。Yahoo!カテゴリLODと命名。略称はヤフカテLODとでも。

ヤフカテLODのトップページやら説明やら色々雑な状態なので今後加筆していく。

ヤフカテLODを修正したのでcategorY! のほうも修正。ちゃんと修正出来てるか心配。

今後ヤフカテLODはDBpediaとリンクしたい。

MA9に応募してみた

10日ほど前に研究のモチベが上がらなかったのでネットサーフィンしてたら、偶然MA9の存在を知ったのでちょいと作ったものを応募してみた。応募ページ

MA自体の存在はもうちょっと前に知ってたけどMA8のサイトしかしらなくて、「MA9いつ始まるんだよ、ハッカソンの情報とかどこで見れるんだ」と思って途方に暮れて放置してたら、いつの間にか始まっていて期限結構迫ってたという。

そんなわけで、本当はグループ作って一緒に開発・応募しようぜ的なことをしたかったのに出来ず、とりあえず何か出してみるかとしょうもないChrome拡張機能で応募。まぁ審査してもらうだけでもありがたいので。

アプリの詳しい説明はこちら

要素技術として使っているYahoo!カテゴリRDFはこちら

 

ヤフカテRDFの方は半年以上前に作ってたけど、当時はオントロジーめちゃくちゃだったので、一昨日構造を大幅に変更したものを構築し直した。

今後日本語DBpediaとリンクしたいので、そこら辺よく考えて納得行くものができたらLODチャレンジのデータセット部門に応募してみようかと。しかしこれ、パブリックドメインで公開していいのか疑問。

 

一週間以上研究から離れてしまったのでそろそろ戻らないと。

ねじLODの方は近々新しいデータセットをリリース出来ると思う(ハードル上げ