タグ

ブックマーク / www.kanzaki.com (72)

  • ちょっとしたメモ - RDF/XML視覚化ツール改善、あるいはGraphvizとUTF-8

    昨年RDF/XMLのチェックと視覚化を試作・公開したときから、日語を含むUTF-8のデータでときたまsegmentation faultエラーを生じてグラフが描けない現象に悩まされてきたのだが、Graphvizを新しいバージョンにアップデートしてみたら、ありがたいことにこのバグが解消されていた。W3CのRDF Validatorは相変わらず日語をグラフ画像で描けないので、このツールが安定するのは多少なりとも意義があるかな。 Graphvizをコマンドラインで動かしてCoreダンプを取り、デバッグしてみると、どうやらlabels.cのlabel_size関数で、特定のパターンの文字列を扱うときに問題を生じるらしいことまでは分かったが、それ以上は手を付けられずにいた。ふと思い立ってGraphvizのサイトを確認したら、バージョンは昨年インストールしたときの2.2.1からいつの間にやら2.8

    tsupo
    tsupo 2006/11/09
    Graphviz の新しいバージョン、試してみないと。自分でパッチ作ってあてる必要はなくなったということですね。doxygen の方も新しいのを入手して、セットで試してみよう。
  • ちょっとしたメモ - IE7、Firefox2でもRSS1.0にXSLTを適用させる

    IE7やFirefox2は、「フィード」をMIMEタイプで判別できないときは、コンテンツの先頭部分のテキストマッチで判断して「フィードプレビュー」を起動しているらしい。判定用の文字列パターンをRSSファイルで直接用いないようにしたら、確かにどちらのブラウザもプレビューではなくてXSLTを適用するようになった。ただし、一般のフィードリーダーの中にも同じような文字列マッチを使っているものがある模様で、方法によってはこれらのフィードリーダーでも修正版RSSを読めなくなってしまうので注意が必要だ。 Microsoft Team RSS BlogのWindows RSS Publisher's Guideによれば、MIMEタイプがapplication/xmlもしくはtext/xmlであるときは、IE7はコンテンツ冒頭の512バイトを読んで、その中に次の3つの文字列があればRSS1.0と判定するのだ

    tsupo
    tsupo 2006/11/09
    rdf:RDFを使ってRSS1.0を判定方法を用いているらしきものが結構あることが分かった
  • ちょっとしたメモ - HTMLの再構築?

    GRDDL仕様の最初の公開草案が出ていよいよXHTMLの出番だと思っていた矢先に、バーナーズ=リーからReinventing HTMLなどという話が出てきてびっくり。W3CのHTMLに対する取り組みへの不満は各地で書かれているし、WHATなんていう分派がHTML 5を起草したりしているから、家としても何とかしなければならんということだろう。しかし、新しいHTML部会を設立する(to charter a completely new HTML group)と個人ウェブログでいきなり宣言するのは異例で、かなり唐突な感じがする。 もちろんこれは、XHTMLに向かう動きを逆流させようということではない。新しいHTML部会は、現在のHTML WGを置き換えるのではなく、並行して設置されるのだという。XMLの方向へ一度に切り替えようとしたのでものごとが動かなかった(The attempt to ge

    tsupo
    tsupo 2006/10/28
    新しいHTML部会を設立する(to charter a completely new HTML group)と個人ウェブログでいきなり宣言するのは異例で、かなり唐突な感じがする → html と xhtml の間の中間のものを作るのかな?
  • ちょっとしたメモ - IE7もFirefox2もRSSを特別扱い

    IE7がRSSフィードのXSLTを無視することは以前も書いたが、Firefox 2.0までやってくれるとは。RSSの普及に対応し、特別なスタイル指定がなくてもフィードを読めるようにするという趣旨は分からんでもないが、HTMLのブラウザが作者スタイルシートがあればそちらを優先するように、文書のスタイル指定は尊重するほうが望ましいのではないか。 IE7の場合は、インターネットオプションのContentsタブでFeedsの設定を開き、「Turn on feed reading veiw」のチェックを外せば普通にXSLTを適用して表示できる。それに対してFirefox 2.0のほうは、フィードリーダに何を使うかが選択できるだけで、XSLTを有効にするオプションは見あたらない。しかも、デフォルトのフィードリーダでは、RSSの名前空間の要素のみが表示されて、dc:dateなども無視されるというお粗末さ

    tsupo
    tsupo 2006/10/27
    IE7 も Firefox2 も RSS/Atom の XSLT を無視するという話 / IE7 は設定を変更すれば XSLT が有効になる / Firefox 2 は XSLT を有効にするオプションが見当たらない
  • ちょっとしたメモ - application/jsonがRFC4627に

    3月末にアナウンスされていたJSON仕様のRFCが、RFC 4627 The application/json Media Type for JavaScript Object Notation (JSON)として公開された。メディアタイプは表題の通りapplication/jsonで、標準ファイル拡張子は.jsonとなっている(拡張子の話は前回書き忘れた)。一部のミス修正以外は最終I-Dとほぼ同じ内容でRFCとなった。 XMLHttpRequestでの処理にはメディアタイプはあまり関係ないが、ブラウザで直接ファイルを開こうとするとapplication/jsonの場合はダウンロードが始まってしまう(Opera9では「XMLの解析に失敗しました」となる…??)。実用には支障ないものの、手軽にデータを確認できないのは残念なところ。.jsonにapplication/jsonをマッピングするか

    tsupo
    tsupo 2006/07/29
    メディアタイプは application/json で、標準ファイル拡張子は.json
  • ちょっとしたメモ - RDFとは何か

    What Is RDFという、xml.comに8年前から掲載されている記事がある。Tim Brayによるオリジナル版のあとで2001年にDan Brickleyによる改訂版が出て、またまた今回Joshua Taubererによる再改訂版が登場した。RDFの現在の位置づけやセマンティック・ウェブとの関連を踏まえて新たに書き下ろしたものだが、新改訂版を以前からあるURLで公開し、旧版を別のURLに移動しているのが面白い。 旧版ではRDFを「メタデータを記述してウェブでの検索を高度にするもの」という形で捉えていたが、最新版ではどういう紹介になっているのか、かいつまんで見ていくことにしよう。まず導入部分。 セマンティック・ウェブ(以下SW)では、コンピュータが私達のためにブラウジング(それに探索や照会など…)を行ってくれる。SWは、コンピュータがウェブ上に分散している知識を探し出し、それをかみ合わ

    tsupo
    tsupo 2006/07/28
    セマンティック・ウェブといっても“全てをコンピュータが自動的にやってくれる”というSF的な話ではなく、人間が利用するもの/メタデータだけを扱うのではなくて、知識や世の中に存在するものごととその関係を記述
  • ちょっとしたメモ - バーナーズ=リー vs. Google

    バーナーズ=リーが18日のアメリカ人工知能学会の基調講演を行ったときに、Googleの検索担当ディレクタのPeter Norvigが疑問を投げかけたという話がZDNetで取り上げられている(Google exec challenges Berners-Lee)。内容は特に目新しくはないのだが、Googleという立場でセマンティック・ウェブの課題に対する考えが述べられているのは、興味深いところ。 基調講演でバーナーズ=リーは、永続的なURIとRDFで情報を識別することの重要性を強調し、これらの仕様を一貫して用いることで、ウェブが来目指していた協調的な性質をセマンティック・ウェブが獲得できるのだという持論を展開する。その講演後のQAセッションで、最初にマイクを握ったのがNorvigだったというわけだ。 Norvigは、セマンティック・ウェブに反対するわけではないが、Googleの視点からする

    tsupo
    tsupo 2006/07/20
    この落差がしばしばセマンティック・ウェブに対する疑問の種になっているのも確か / だからといってここで立ち止まっていては何もできない / 今ある技術を使って、どうやったら先に進めるかを考えていく方がいい
  • ちょっとしたメモ - セマンティック・ウェブ再訪

    Scientific American誌の2001年5月号に The Semantic Web が登場してからちょうど5年目のタイミングで、IEEE Intelligent Systems誌に The Semantic Web Revisited が掲載され、話題になっている。こちらもバーナーズ=リーが執筆陣に加わっており、現時点でのセマンティック・ウェブの総括といえる内容だ。 記事抄録を訳して紹介しておこう。 サイエンティフィック・アメリカンに最初のセマンティック・ウェブの記事が登場したのは2001年のこと。そこでは、主として人間が読むための文書で構成されれているウェブから、コンピュータが処理できるデータや情報を含むウェブへの発展が語られていた。セマンティック・ウェブとは、作動可能な(actionable)情報、すなわちシンボルを解釈するための意味理論を通じてデータから取り出された情報の

    tsupo
    tsupo 2006/07/19
    巨大で分散化され規模も異なる情報源をどうやって効率的に検索するか;さまざまなオントロジーをどうやって調整しマッピングするか;巨大なRDFグラフを視覚化しナビゲーションするセマンティック・ウェブ用ブラウザを
  • ちょっとしたメモ - Dublin Coreの新仕様案に対するパブリック・コメント

    先日のExpressing Dublin Core metadata using RDF草案に対するパブリック・コメントが6月末で締め切られ、そのまとめがDCRDFTaskforce/PublicCommentJune2006として公開されている。決定的な異論は無かったが、いくつか調整や修正が必要ということだ。問題の定義域、値域に関しては、抽象モデルに沿って進めるが"needs some improvement"というのが大方の意見か。 コメント公開ページの内容は、概ね次のようなところ。 DCプロパティに定義域と値域を与えることについて この点については、いくつかの懸念が表明された(当然だ)。dc:creatorなどは、以前のDCMIの説明でもリテラル扱いだったし、Swoogleの統計を見てもDCMESの15要素の大多数はリテラル目的語として使われているから、これらが不適合になるというのは

    tsupo
    tsupo 2006/07/10
    「DCAMに従って基本的にはプロパティ値をエンティティとするが、値域に関してはもっとよく議論しようと」いう線。
  • ちょっとしたメモ - Dublin CoreのRDFモデル新仕様案

    ダブリン・コアをRDFで使う時のモデルを定めるExpressing Dublin Core metadata using RDFの草案が公開されている。注目すべきは、いくつかのケースを除いて、プロパティ値(目的語)としてリテラルが認められなくなっているところ。具体的に言えば、<dc:creator>神崎正英</dc:creator> という記述は不可で、目的語は<foaf:Person>などのエンティティにしなければならなくなる。RSSをはじめとする現在のRDFデータにかなり大きな影響が出るのは必至だ。 例外としてリテラルを目的語にできるのは、大まかにまとめると (1)値となるのが一つの文字列だけ;(2)そのEncoding Scheme(クラスに相当)がデータ型もしくはrdfs:Literal;(3)RDFのリテラルとして矛盾無く記述できる(たとえばデータ型と言語タグの両方を持っていたり

    tsupo
    tsupo 2006/06/04
    これって、XMLにおける「ボヘミアンvs貴族」問題が、Dubrin Core にも波及したって感じ? ちょっと違うか。でも、これは「貴族」寄りの仕様だなぁ。
  • ちょっとしたメモ - RSSのメディアタイプ制定の動き(とIE7)

    RSSのメディアタイプ(MIMEタイプ)を、application/rss+xmlとして正式に登録しようという動きが始まっている。RSSはバージョンを問わず(0.9~2.0.1)同じメディアタイプで扱う。まだI-Dにもなっていない段階だが、原案が公開されている。Auto-DiscoveryとかFeed Validatorとかで既にこのメディアタイプが用いられたりしてはいるものの、正式な手続きはこれからということ。 この登録案は、RSS 1.0のRSS-DEV Working GroupとRSS 2.0のRSS Advisory Boardとの共同提案によるもの。仲良くやろうというのは結構なことだ。もっとも、この手のメディアタイプは、一般的なウェブブラウザだと画面表示ではなくダウンロードを始めてしまうため、現状ではサーバーからのヘッダとしてはなかなか使いにくい(application/rdf

    tsupo
    tsupo 2006/05/14
    この登録案は、RSS 1.0のRSS-DEV Working GroupとRSS 2.0のRSS Advisory Boardとの共同提案によるもの / IE7(beta2)はヘッダのapplication/rss+xmlに対応しているようだ
  • ちょっとしたメモ - W3Cの新しいXSLTサービスとGRDDL

    W3CのオンラインXSLTサービスが新しくなって、文字コードの扱いが改善された。以前はUTF-8以外の文字コードは即座にJavaの例外を引き起こしていたのだが、今回はShift_JISでもEUC-JPでもちゃんと処理できている。これによって、日語XHTMLページからGRDDLでRDFを容易に抽出できるようになる、はずだ。 XHTML文書からRDFを抽出するには、たとえば当サイトの汎用XSLT(xh2rdf.xsl)をこのオンラインサービスで適用すればよい。整形式を満たしている文書なら、タイトルや見出しがメタデータとして取り出され、要約やキーワード、作者の連絡先があればそれも含めたRDFが得られる。 XHTML: さらに、head要素のプロファイルとしてhttp://purl.org/net/ns/metaprofを記述していれば、W3CのGRDDL demoページから直接RDF抽出を行う

    tsupo
    tsupo 2006/04/29
    XHTMLを謳っていながらも整形式になっていないケースが多く、残念ながらかなりの割合でエラーになった → さもありなん
  • ちょっとしたメモ - Microformatの先へ

    "Web 2.0"やmicroformatに関心がある人は、昨日xml.comで公開されたUche Ogbujiの記事 Microformats in Context をぜひ読んでおこう。ここでは、microformatの可能性と限界、そしてその次のステップが、XMLの質に照らして鮮明に描かれている。microformatは「インフォーマルな文脈における小さな島(コミュニティ)をうまくまとめる方向に目を向けている」が、それらの小さな島をつなぎ、集約するためには、もう少し先に進む必要がある。 Ucheの論点を大まかに列挙すると、次のようになる: microformatは新しい語彙を作るのではなくて、既存のよく普及したフォーマット(XHTML)を利用して情報を表現しようとするものだが、多くの場合、XHTMLの語彙の意味を拡大解釈し過ぎて、混乱を生む。 複数のmicroformatの間で語彙が

    tsupo
    tsupo 2006/04/28
    GRDDL(そしてもしかしたらRDF/A)は、microformatの小島に橋を架け、その先に進むための手段としても注目しておきたい
  • ちょっとしたメモ - CSS 2.1今度こそ

    CSSの校正を戻そうとした矢先に、CSS 2.1の改訂草案がでてきてびっくり。diffをとって比べたところ、昨年6月の最終草案と大きな違いはなかったので、原稿も僅かに修正するだけで校了できた。いやはや、最後まで一筋縄ではいかなかったこのも、5月中旬にはようやく形になりそうだ。 CSSにおいて「2.0」が登場したのは1998年のこと。近頃の流行をはるかに先取りしていたわけだけれど、何しろ巨大で複雑な規格だから最初から完璧というのは難しく、CSS 2.0の記述には不整合や現実とのい違いが少なからず見られる。不備な部分を整理するために改訂版がでてくるのは必然だ。 ところが、最初の草案が公開されたのは2002年8月だというのに、それから4年近くたってもいまだにCSS 2.1は草案段階でしかない。ひとこと言いたいというのがやたら多いこともあって、2年前にいったん勧告候補になりながらまた草案に逆

    tsupo
    tsupo 2006/04/12
    CSS 2.1の改訂草案 / diffをとって比べたところ、昨年6月の最終草案と大きな違いはなかった
  • ちょっとしたメモ - JSONがRFCに

    JSONの文法などについて、今年の2月1月からインターネットドラフト(I-D)が出されているが、はやくもInformational RFCとすることが決まった(I-Dは現在04版draft-crockford-jsonorg-json-04.txt)。MIMEタイプはapplication/jsonとされている。 このI-D/RFCは、JSONの構文とMIMEタイプをオフィシャルな形で定義しようというもので、内容は基的には既に知られている文法と違いはない。大まかに言えば、次のようなことが書かれている。 JSONは4つの基型(string, number, boolean, null)と、2つの構造型(object, array)で表現される。 objectは、名前:値 の組の順不同のコレクションで、これらの組を , で区切り、{ と } で囲む。名前はstringで、値は上記6つの型の

    tsupo
    tsupo 2006/03/31
    MIMEタイプはapplication/jsonとされている
  • ちょっとしたメモ - JSONではじめるRDF/Turtle(5) - 相互変換のデモ

    JSONとRDF/Turtleのマッピングが何とかものになりそうなので、簡単なデモを用意し試してみることにする。細かいことに目をつぶれば、相互変換はJavascriptでも可能だ。Ajax的にやれば、RDF/Turtleのデータを取り込んでJavascriptで処理したり、JSONデータをRDFトリプルとして操作することも可能だろう。 まず、3回目の型付きノードで取り上げた例を使って変換してみる。上のtextareaのJSONのデータを、「JSON ↓ Turtle」ボタンを使ってRDF/Turtleに変換し、下のtextareaに書き込む。生成したRDF/Turtleは、グラフ図を描いたり、きちんとトリプルが得られているかをパーサーで確認することもできる。 逆に、下のtextareaにRDF/Turtleがあれば、「Turtle ↑ JSON」で逆を行うことも可能だ(生成したJSONデー

    tsupo
    tsupo 2006/03/07
    Ajax的にやれば、RDF/Turtleのデータを取り込んでJavascriptで処理したり、JSONデータをRDFトリプルとして操作することも可能だろう
  • ちょっとしたメモ - JSONではじめるRDF/Turtle(4) - プロパティの反復と主語

    JSONのデータとRDF/Turtleをマッピングするためには、あと少し整理しておくべきポイントがある。JSONで配列として表現されるデータモデルの扱いと、Turtleに空白ノードではなくURI参照を持つ主語を与える方法だ。 JSONで一つのプロパティが複数の値を持つ場合、配列が用いられる。

    tsupo
    tsupo 2006/03/07
    せっかくここまで来たら、何とかこの主語もJSONで表現してしまいたい/どっちみち「正しい」方法はないので、名前空間の時と同じように、特別なプロパティ@aboutを導入して、そこに主語を記述することにしてしまおう
  • ちょっとしたメモ - JSONではじめるRDF/Turtle(3) - 型付ノード

    JSONは基的に「名前:値」のペアでデータを表現するが、RDFは「主語‐述語‐目的語」のトリプルが単位になる。ここで、JSONのオブジェクト記法 {} をRDF/Turtleの [] と読み替え、主語が空白ノードであるトリプルとして扱うことで、両者はあるていど相互に往き来することが可能だ。しかし、リソースに「型」情報を持たせたRDF/XMLの「型付ノード要素」を考えるとき、この読み替えには多少の工夫が必要になる。 改めて、空白ノードを主語にした最初のグラフを見てみよう。 この主語リソースには、2つのプロパティがあるが、特に何らか「型」は持っていない。このノードは、RDF/XMLでは普通に <rdf:Description> 要素で記述される。 [例1] <rdf:Description> <studentid>10108068</studentid> <name>John Barleyc

    tsupo
    tsupo 2006/02/21
    「RDFの型情報をもつ型付ノード」は「Turtleでは型を示すトリプルを素直に加える」/その型情報トリプル記述の簡便法として、 a が用意されている
  • ちょっとしたメモ - JSONではじめるRDF/Turtle(2) - 名前空間

    前回、JSONとRDF/Turtleは親和性が高そうであることを見たが、単純な置き換えではうまく行かなかったり、意味が正確に伝わらなかったりすることもある。ここでは名前空間宣言について考えてみよう。 まず、空白ノードを主語にした前回のグラフをもう一度確認。 この図でも分かるように、RDFでは基的にURI参照でトリプルの名前付けを行うから、簡潔な記述には名前空間接頭辞が欠かせない。XML構文におけるxmlns属性の役割は、Turtleでは @prefix という特別な指示子が担う。デフォルト名前空間URIをhttp://example.org/ns/とすれば、Turtleでは接頭辞を:として@prefixで宣言する。 [例1] @prefix : <http://example.org/ns/> [ :studentid "10108068"; :name "John Barleycorn

    tsupo
    tsupo 2006/02/21
    http://purl.org/net/ns/jsonrdf/ という名前空間を用意してみた / 名前空間をうまく組み込めば、多少なりとも相互運用性のある開かれたデータとしての活用が可能になるかも知れない
  • ちょっとしたメモ - JSONではじめるRDF/Turtle

    JSONのデータ記法は、RDF/Turtleで主語を明記しない(空白ノードである)トリプルの書き方によく似ている。多くの人やサービスがデータをJSONの形で提供してくれれば、これをTurtleに変換してRDFとして扱うこともできるだろうし、JSONに馴染んだ人なら、案外Turtleを(そしてRDFを)抵抗なく受け入れられるのではなかろうか、などと考えたりしていた。 Turtleは、RDFのグラフを、XML構文ではなくて、主語、目的語、述語をシンプルに列挙する形で記述する。たとえば、ある学生の学籍番号をURIに仕立てて主語を名前付けし、その名前を目的語/述語で表すRDFトリプルがあるとしよう。 グラフのXML構文は次のようになる(http://example.org/ns/はデフォルト名前空間として宣言されているとする)。 [例1] <rdf:Description rdf:about="h

    tsupo
    tsupo 2006/02/21
    Turtleは、RDFのグラフを、主語、目的語、述語を列挙する形で記述 / [] と {}、; と , を入れ替え、プロパティ名に付随する : の位置を逆にすれば、TurtleとJSONはまさに瓜二つ