DATABASELINK チュートリアル

コマンドキャッシュ

以下の例ではプライベートデータベースに Mathematica コマンドを保管し,Javaと Mathematica からデータをクエリする方法について示す.

このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,「データベースの例の使用」で述べているようにパッケージを使ってデータベースをもとの状態に戻す必要があるかもしれない.

例題のコードは DatabaseLinkExamplesサブディレクトリからロードする.

In[1]:=
Click for copyable input

コマンドキャッシュを使うと,Mathematica 式をタイプセットされたボックス式としてデータベースに保管することができる.データベースにボックスを保管するときはを使う.

In[2]:=
Click for copyable input
Out[2]=

データベースからデータを取り出すときはを使う.

In[3]:=
Click for copyable input
Out[3]=

各コマンドのいくつかの属性はデータベースに保管される.各コマンドには,保管するときに生成されたIDが与えられる.式は完全形FullFormでフォーマットされた文字列として保管される.これにより,Mathematica 内で式を再利用することが可能である.また,データが保管された時間と,式の画像も保存される.を使うと属性名が得られ,これらの属性名は返されるデータをフィルタするのに使える.

In[4]:=
Click for copyable input
Out[4]=
In[5]:=
Click for copyable input
Out[5]=

次の例ではPowerを含んでいるすべての結果を求める.

In[6]:=
Click for copyable input
Out[6]=
In[7]:=
Click for copyable input
Out[7]=
In[8]:=
Click for copyable input
Out[8]=

コマンドはIDを使って取り出すこともできる.

In[9]:=
Click for copyable input
Out[9]=

このパッケージの別の機能に,データを見るためのJava GUIがある.これにはデータを管理したり,ノートブックにデータをペーストしたりする機能がある.

In[10]:=
Click for copyable input
Out[10]=

データベースに新しいコマンドが追加されると,GUIは自動的に更新される.

In[11]:=
Click for copyable input

同様に,コマンドが削除された場合もGUIは自動的に更新される.はコマンドキャッシュにあるデータをすべて削除するときに使う.

In[12]:=
Click for copyable input
Out[12]=

グラフデータベース

この例では Mathematica で生成されたマテリアルを保管するデータベースについて示す.そのマテリアルとして,ここではグラフとグラフの数々の特性について取り上げる.グラフの数が特別多くなくても,これらのグラフの特性を生成するには非常に時間がかかる.このことから,計算結果の永続的な保管のために,データベースがいかに価値のあるものであるかが分かる.

グラフデータベースの使用

グラフデータベースを使用するには,パッケージをロードする必要がある.

In[1]:=
Click for copyable input

最初にパッケージを使うときには,コマンドを実行する必要がある.このセクションの例を実際に試してみて,記載の通りに動作しなかった場合は,次のコマンドも実行する.実行に時間がかかることがあるが,実行する必要があるのは1度だけである.

Click for copyable input

データベースに保管されているグラフの特性は,関数で得られる.

In[2]:=
Click for copyable input
Out[2]=

これで,データベースからクエリが作成できる.これはコマンドを使って行う.以下を実行すると,すべての完全な形のグラフが返される.

In[3]:=
Click for copyable input

Out[3]=

グラフに使われた形式は Combinatorica パッケージで提供されているものである.これはグラフの図を描く他に,Mathematica でさらに計算に使用できる記号オブジェクトも返す.

次の式は正則グラフの最初の3つを返す.

In[4]:=
Click for copyable input

Out[4]=

次はハミルトングラフを求め,その直径,周囲の長さ,辺情報を返す.前述の例と同じように,グラフも描かれる.

In[5]:=
Click for copyable input

Out[5]=

この例題パッケージの重要な点の一つに,一般的なデータベースコマンドではなく,グラフを求めるための特有のコマンドを示しているということが挙げられる.データベースのインタラクションの詳細は,実装したものの中にある.

グラフデータベースパッケージ

グラフデータベースパッケージには3つの関数がある.

GraphProperties[]データベース中のすべてのグラフ特性をリストする
GraphQuery[{props}]データベース中で props に合致するグラフを検索する
RestoreGraphDatabase[]データベース中のデータをもとの状態に戻す(時間がかかる可能性がある)

グラフデータベースパッケージの関数

関数はデータベース中のすべてのデータを計算し直すため,計算し終えるのに時間がかかることがある.一般に,これはデータベースを破壊してしまったとき以外には実行しない方がよいだろう.

New to Mathematica? Find your learning path »
Have a question? Ask support »