バージョンアップ
GraphDB
オントロジー
grakn.ai

Grakn.ai - 0.17になって変わったことリスト - OpenJDK 8 オフィシャルサポートその他

はじめに

先々週から始めてver. 0.16を使っていたが、OpenJDK 8がオフィシャルサポートされていない(テストが不充分)ということもあり気になっていた。先週Grakn LabsのMichellangero Bucciさんとお話しした際に「出来たら早めに0.17系に上げた方がいいよ」というアドバイスもあったので0.17系を再インストールする事にした。お話ではサンプルやドキュメントも結構力入れて直したらしい。

実際やってみると、インストールはしくじるポイントが無いので問題なく出来たが、PoCで作っていたオントロジーのロードでエラーが出たり、テストクエリがはじかれたりと案外往生したのでそのあたりを纏めておく。どうもユーザー要望で文法的には結構先祖がえりしたみたい。結構な割合のドキュメント(ほとんど)は元の文法に沿っていたので、これで整合性が取れた事になる。(ポジティブに取れば)

今回検証したバージョンは、今日時点で最新の0.17.1。

オントロジー関連

いずれもエラーが相変わらず分かりにくいので、知ってないとツラい。ちなみに以下の3つ以外は検知されなかったが、rule等もっと複雑な定義をしているとそちらに影響が出ているかも知れない。

insertがDefineに変更

0.16ではオントロジーもデータもinsertでの定義だったが、これがオントロジーはdefineに変わった

before
insert
  product sub entity
    has name
    plays product-to-coverage
    plays product-to-limit;
after
define
  product sub entity
    has name
    plays product-to-coverage
    plays product-to-limit;

relationがrelationshipに変更

before
  condition-coverage sub relation
    relates condition-to-coverage
    relates coverage-to-condition;
  condition-to-coverage sub role;
  coverage-to-condition sub role;
after
  condition-coverage sub relationship
    relates condition-to-coverage
    relates coverage-to-condition;
  condition-to-coverage sub role;
  coverage-to-condition sub role;

resourceがattributeに変更

before
  coverage_type sub resource datatype string;
after
  coverage_type sub attribute datatype string;

graql(クエリ)関連

クエリは残念ながらまださほど複雑なものを0.16で試せていなかったので、下記以外にもあるかも知れない。(幸いクエリの方はエラーが分かり易い)

selectがgetに変更

before
match
$coverage isa coverage has name $coverage_name;
$benefit isa surgery_benefit has name $benefit_name;
($coverage, $benefit);
select $coverage_name, $benefit_name;
after
match
$coverage isa coverage has name $coverage_name;
$benefit isa surgery_benefit has name $benefit_name;
($coverage, $benefit);
get $coverage_name, $benefit_name;

おわりに

今回は単純な変更かも知れないけど、えらい大胆な先祖がえりで「大丈夫か?」と思わせなくもないが、これ以外にもたくさん改善は入っており頑張ってるので引き続き応援したいと思う。