2021年4月24日土曜日

neo4jメモ

 OS関係: Debian 10 (buster), KDE, plasmashell, neo4j version 4.2.5 community 版

neo4j ブラウザでの使い方

使用可能なブラウザ

Neo4jにはブラウザが必要。使えるブラウザは Edge, Chrome, Firefox。Chrome系の iron, Firefox系の Waterfox classicでも動いた。

  • 入力の仕方 Enterキー
    入力欄 neo4j$ Enterキーの仕方。

    • 1行パターン
    コード [Enter]
    • 複数行パターン
    コード [Shift+Enter] 続きコード [Enter] ...... [Enter] コード終了 実行 [Ctrl+Enter]

    エラーが出たら、その上に表示される入力ソースを訂正して [Ctrl+Enter]

Hello world! と表示するだけの例

(1個のノードのバリューを表示するだけ)

1. ターミナルで systemctl start neo4j → ルートパスワード または、sudo neo4j start → ユーザパスワード。neo4jはサービスで動いてるのでターミナルは閉じても開きっぱなしでもかまわない。 2. ブラウザを起動。アドレス欄に "http://localhost:7474/" と入力。 3. Usernameと Password (初期値は neo4j, neo4j or 自分の設定ワード)。初めてのときはpasswordを変更しないとログインできない。 4. 入力欄 neo4j$ に CREATE (p:Smile{message:"Hello \n world!"}) /// [Shift+Enter] RETURN p /// [Ctrl+Enter] 5. 終了。左サイドウインドの下の方の赤いアイコン→Clear local data→Clear local data→ログイン画面に戻ったらブラウザを終了。 6. ターミナルで、systemctl stop neo4j → ルートパスワード または sudo neo4j stop → ユーザパスワード

素人の雑感

  • グラフ表示が出なかったら、左の"Graph"アイコンをクリック (OSによって上記 \nは、\r\nかも)。

  • 上の例なら、全部小文字でも構わない。任意に付けたラベル(上のSmile)は、大文字と小文字は別の要素になる。(入力は cypher-shellに渡してるだけ?)

  • createで作ったノードは間違って入力したものもどんどん貯まる。上の例言えば MATCH (p) RETURN p とすれば間違い入力分も表示する。MATCH (p) DELETE p で消せる。MATCH (n) RETURN n ならその他も全て表示。まとめて全部消すには MATCH (n) DETACH DELETE n

  • ブラウザにコードのコピペできないとき
    ネット上のコードサンプルや、テキストで書いたコードをブラウザのコード欄 'neo4j$ 'にマウス右ボタンでコピー、左ボタンでペーストできない場合、 3or5ボタンマウスなら真ん中ボタンでペーストするとうまく行くことがある。

  • ノード(グラフの○、デフォルトで300)が増えると一気に処理が遅くなる (総当り的?)。この手のソフトはマルチコアでもCore 1コしか使わないので、早いクロックのCPUが向いてる。 バージョンアップでマルチコアで処理するようになった。

  • 試しに自治体の Covid19情報から、感染の経路をたどってみた (濃厚接触者不明と2次で経路が途絶えたものを除くノード5600程)。(関連 graphviz)


2021年4月19日月曜日

Debian 10にneo4jをインストール

neo4j バージョン4.2 community 版をインストール。

java 11 が必要なので $ java --version で openjdk 11 を確認。

Community版 Enterprise版の違い
A Closer Look at Neo4j Editions
https://neo4j.com/subscriptions/#editions
 
1) インストール
neo4j docsの‘1.2. Add the repository’ から、

    $ wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - echo 'deb https://debian.neo4j.com stable 4.2' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
    $ sudo apt-get update
    ///
    $ sudo apt install neo4j

    $ neo4j --version
    neo4j 4.2.5                    ⇠インストールされたバージョン
    /// install 完了

2) 設定
基本的な設定は、/etc/neo4/neo4j.conf で行う。
 
「WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.」の対策。
 $ systemctl start neo4j で動かす場合
    /usr/lib/systemd/system/neo4j.service
    [Service]
    LimitNOFILE=60000      ⇠こうなってた

 $ sudo neo4j start で動かす場合
    /etc/systemd/user.conf
    [Manager]
    DefaultLimitNOFILE=60000       ⇠ 変更

3) ディレクト $ sudo neo4j start 時に表示される
 Directories in use:
  home:         /var/lib/neo4j
  config:       /etc/neo4j
  logs:         /var/log/neo4j
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/run/neo4j

import先の変更は、/etc/neo4j/neo4j.conf の22行目
dbms.directories.import=/var/lib/neo4j/import を変更してやる。日本語ディレクトリ名は通らない。

上記環境)
Debian GNU/Linux 10 (buster), KDE Plasma 5.14.5, KDE Frameworks 5.54.0, QT 5.11.3


2021年4月5日月曜日

Markdown note

マークダウン.md --- title: Markdown note ---

1. Markdown

単純化したなマークアップ。HTMLの最小機能版。 マークダウンによる基本記述は、Markdown: Syntax:https://daringfireball.net/projects/markdown/syntax 実際は拡張されたmarkdownが多種ある。GitHub Flavored Markdown GFM がメジャーだと言われている。

1.1. マークダウンの表示とエディタ

基本的にはテキストエディタでさえあればマークダウンの記述は可能。拡張子は決まってない。mdの場合がほとんど。原則、html で表示する (RFC7763)。

1.1.1. Debian(debファイル)

debパッケージでインストール可能なエディタ兼プレビュー。

  • ghostwriter : サイドウィンドウに結果表示。
    ホーム https://wereturtle.github.io/ghostwriter/
    Debian buster では ghostwriter v1.7.4、latestは v1.8.1
    Debianで最新にmake してみた。ダウンロード先 source code。v1.7.4→v1.8.1にしたらテーブルの最後の行が閉じるようになった。

    $ sudo apt install g++ qt5-default qtbase5-dev libqt5svg5-dev qtmultimedia5-dev qtwebengine5-dev libhunspell-dev pkg-config libqt5concurrent5 qttools5-dev-tools $ cd <your_ghostwriter_folder_location> $ qmake $ make # make install // デフォルトインストール先 /usr/local/bin/

別途、pandoc, discount, cmarkがインストールされていると、Sundown, Pandoc, Pandoc CommonMark, Pandoc GitHub-flavored Markdown, Pandoc PHP Markdown Extra, Pandoc MultiMarkdown, Pandoc Strict, Discount, cmark 型で各種エクスポートできる。

  • ReText : ソースとプレビュー表示。
    本来の Markdownに近い。Block codeは整形してくれない。

上記2つは、簡単にmarkdownをプレビュー見ながら入力して、html, pdf に出力できる。

  • code : マイクロソフトの汎用テキストエディタ Visual studio code。Debianのパッケージ名は code。

1.1.2. Remarkable

  • REMARLABLE https://remarkableapp.github.io/i かなり拡張されているので、他ではプレビューできないかも。Debian busterにremarkable_1.87_all.deb を入れようとしたら、gir1.2-webkit-3.0にダウングレードの必要があったので諦めた。

1.1.3. Typora

  • flatpakのflathubsnap 上で Typora をインストールする方法がある。

  • T for Linux に binary file Typora-linux-x64.tar.gz がある。

  • 直接 Typora からインストール。

    例 $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE $ sudo add-apt-repository 'deb https://typora.io ./linux/ ' $ sudo apt-get update $ sudo apt-get install typora

1.1.4. Boostnote

  • Boost Noteに debファイルがある。GitHubのアカウントが必要。cloudサービス。有料版と無料版(100M)

1.1.5. Joplin

  • Joplin。クラウドサービス。debはないけどLinux インストール.sh

1.1.6. Atom

  • ATOM に debファイル。

1.1.7. Visual Stuido Code

Microsoftのテキストエディタ(略 VScode)。本家 Visual Studio Code

  • Debian の synapticsや aptでは、codeというパッケージ名をインストール。

  • 起動するには、

    • ファイル.mdを右クリック→アプリケーションで開く→Visual Studio Code
    • スタート→すべてのアプリケーション→ユーティリティー→Text Editor
  • メニューの日本語化

    2通りの方法

    1. メニューバー: View → Command Palette を開いて Configure Display Language で検索 → Install additional languages から Japanese Language Pack for Visual Studio Code をinstall して Restart Now

    2. 左サイドバーの田の字の欠けたアイコンをクリック → japanese で検索 → Japanese Language Pack for Visual Studio Code : install して Restart Now

  • プレビューを開いた状態で起動させる
    マークダウンファイル(md)を開くたびに右上のアイコンでプレビューオープンするのが面倒なら、拡張機能を利用して自動オープンにする。
    メニューバー→表示→拡張機能→ (検索) 'auto-open' : Auto-Open Markdown Preview をインストール

  • TOC table of contents 拡張機能使用時の問題
    VScodeの「EOL end of line 行末」が autoになっていると失敗する。linuxだと $ echo "" | od -c で行末確認できる。使用OSに従って unix系やOSXは \n、Windows系 \r\nにする。左下の歯車マークの設定から検索で'eol'で検索して変更。

  • MarkdownをHTMLで出力
    拡張機能インストールで対応。markdown-pdfや vscode-pandocなど

  • 目次 TOC table of contents
    #〜### H1〜H3で目次を作る。拡張機能 Markdown Toc (章番号の自動化も可能だけど内部参照と辻褄あわなくなったりする)、Markdown Preview Enhanced など。pandocでもTOC作成可能。

1.1.8. 番外

  • Kate : モードの切り替えでプログラミング入力に対応するKDEのテキストエディタ。kpartsplugin と KMarkdownWebViewPart でMarkdownのプレビュー可能なはずだけど現状では無理っぽい。 Katebuildで pandoc等のコマンドを通してmarkdown→htmlは可能 https://azaharblanca.blogspot.com/2021/04/kde-kate-md-html.html

  • Okular : okular-extra-backends (と kpartsplugin)を入れると、Markdown(.md)が読める (Kateから呼び出せるらしい)ので、HTMLにエクスポートできる。
    参考 https://www.maketecheasier.com/convert-markdown-to-html-in-kate-text-editor/

  • vim エディタを使用してる場合。vim-voomのインストールでmarkdownのアウトラインが表示できる。

1.2. Markdownの HTML出力

1.2.1. markdown, mmark, marked コマンド

  • Debianでは、markdownパッケージをインストールするとターミナルから markdownコマンドで md形式のファイルを html出力できる。

    例 $ markdown sample.md > sample.html

    <body>の中身だけの sample.htmlが出来る。 詳細は man markdown。

    他に mmarkや node-marked (コマンドとしては marked) や pandocなど。

1.2.2. pandoc

  • pandocは、多くのテキストファイル形式を別形式に変換する。markdown→htmlも可能。

    md→htmlの例. -s standalone <head><body>html全体を作成 $ pandoc -s sample.md -o sample.html toc : table of contents 目次作成 $ pandoc -s --toc sample.md -o sample.html GitHub-flavored Markdown(gfm)タイプのhtml出力。 $ pandoc -s -r gfm sample.md -w html -o sample.html

    templateを入れることで、さらに拡張整形ができる。
    例えば https://github.com/jgm/pandoc/wiki/User-contributed-templates > HTML > Easy Pandoc Templates の clean_menu.html を使う場合、 ~/.pandoc/templates/ を作成してここにclean_menu.htmlを置いて、

    # templateの使用例 $ pandoc -s --toc --template=clean_menu.html sample.md -o sample.html

以上
Debian buster, KDE, plasmashell, VScode + Markdown TOC + Markdown PDF で試した個人的なメモ



2021年4月1日木曜日

KDE Kateで md->htmlの例

環境 : Debian buster, KDE, plasmashell, Kate 18.08.0

概要 : Kateで作成したり開いた Markdownファイルを、Katebuildで pandocを使って html出力する。

準備 : 簡単なマークダウン sample.mdを作っておく。pandocはインストールしておく。

手順 :
0. (しなくてもいい) Kate > 設定(S) > Kateを設定(C) > 開く/保存 Open/Save > モードとファイルタイプ : ファイルタイプ [Markup/Markdown]。MIMEタイプ: 右端のアイコンをクリックして[☑markdown]にする。


1. Kateでsample.mdを開き、Kate > 設定(S) > Kateを設定(C) > プラグイン Plugin > ビルドプラグイン Build Plugin[x] [OK]。すると、メニュー Menu に[ビルド/Build(B)]項目が現れる。


2. メニュー > ビルド(B) > Build Default Target
Kateの下に窓が出る。[ターゲットの設定]|Active target-set[ ] |Comman/Target Working Directory/Command|と [出力]という2つのタブがある。空白なら"Active target-set:"の右の方にある+の隣をクリック。T: Target Set、"ビルド:make, クリーン:make clean, 設定:cmake -DCMAKE_..., ConfigClean" が現れる(これはデフォルト値)。


"ビルド"をダブルクリック後"MD to HTML"に変更。
"make"もダブルクリックして削除後 "pandoc -r markdown -w html -o %f.html %f"に変更して☑。以降の3行は必要ないので、+の横端のゴミ箱マークで削除。


ゴミ箱列の☑マークをクリックすると、[出力]タブに切り替わって"Make result: ビルドが問題なく完了しました"と表示。sample.md をpandocで処理して、同じディレクトリにsample.md.htmlができているはず。これで設定終了。

使用法 : Kste > ビルド(B) > Build Default Targetで、pandocを使い md -> htmlに変換できる。

その他 :
- 表示(V) > ツールビュー(V) > □ビルド出力を表示から窓を非表示にできる。
- 設定(S) > ショートカット(H)を設定から"katebuild, Build Default Target"にショートカットを設定できる。
- pandoc 以外に markdown, mmark, cmark, marked などでも可能。

上記 pandocオプション :
-r (read) markdown - マークダウンとして読んで
-w (write) html - htmlで書く
-o (out) %f - %fは現在のファイル名 で出力