一言語データセット(DataSet)は「データセット定義ファイル」の一言語部分をオンメモリに展開したものとお考えください。
多言語データセット配下には、データセット定義ファイルのデータセットに対する{ts:reference}の行数分だけ一言語データセットが作られます。
{ts:reference}, example.csv, csv with header {ts:reference}@ja, example.csv, csv with header
と記述されたデータセット定義ファイルでデータセットを読み込んだ場合、生成される一言語データセットは、{ts:reference}による特定の言語に依存しない一言語データセットと、{ts:reference}@jaによる日本語用の一言語データセットの2つです。
一言語データセットには、データセット定義ファイルのうち、自身の言語コードに一致する“@言語コード”のついた行と、自身の言語コードに一致する行のない要素の“@言語コード”がつかない行が渡されます。
example.csv に date, english_abstract, japanese_abstract, french_abstract という名前のカラムがあり、
{dcq:valid}, [date] {dcq:abstract}, [english_abstract] {dcq:abstract}@ja, [japanese_abstract] {dcq:abstract}@fr, [french_abstract]
と記述されていたとすると、特定の言語に依存しない一言語データセットには、
{ts:reference}, example.csv, csv with header {dcq:valid}, [date] {dcq:abstract}, [english_abstract]
日本語用の一言語データセットには、
{ts:reference}, example.csv, csv with header {dcq:valid}, [date] {dcq:abstract}, [japanese_abstract]
が渡されます。フランス語用の一言語データセットは生成しないので、
{dcq:abstract}@fr, [french_abstract]
の行は使われません。
repositoryは指定の Event を主語とする Statement からなる RDF:Repository を生成します。
Array<When::Events::Event>を入力とし、Hash<String=>RDF:Repository> を返します。
Hash のキーは RDFグラフの IRI で、無名グラフでは''(長さ0の空文字列)です。
When.exe Ruby版の「イベント機能」を担当するWebサーバー(http://hosi.org)のAPIで「条件に合致するイベントをすべて取得する場合」にRDFの何れかの形式で応答する際に使われています。
eventは指定の URI を主語とする Statement からなる RDF:Repository を生成します。
指定のイベントのURIを意味するStringを入力とし、Hash<String=>RDF:Repository> を返します。
Hash のキーは RDFグラフの IRI で、無名グラフでは''(長さ0の空文字列)です。
When.exe Ruby版の「イベント機能」を担当するWebサーバー(http://hosi.org)のAPIで「ひとつのイベントを取得する場合」に使われています。
used_nsはRDF:Repository を生成する際に実際に登録したリソースのURI と先頭一致するプレフィクスと名前空間の対を Hash<String(Prefix)=>String(namespace)> で返します。 RDF:Repository を dump する際に :prefixes オプションの値として用います(→サンプルコードmake_events_ttl.rb)。
intersection_eventsは指定の条件を満たす Event の Array を返します。
When.exe Ruby版の「イベント機能」を担当するWebサーバー(http://hosi.org)のAPIで「条件に合致するイベントをすべて取得する場合」に、合致するイベントを抽出するために使われています。
edge_includedyは順序キーによる検索を行います。
intersection_events の中で使われており、イベントの{ts:start}・{ts:west}・{ts:south}・{ts:bottom} の何れかが、指定の範囲に入っているか判断し、入っているイベントの番号(Integer)のArray を返します。
range_overlapedは範囲の重なりによる検索を行います。
intersection_events の中で使われており、イベントの{ts:start}~{ts:until}・{ts:west}~{ts:east}・{ts:south}~{ts:north}・{ts:bottom}~{ts:top} の何れかと、指定の範囲が重なっているか判断し、重なっているイベントの番号(Integer)のArray を返します。