update.
[chise/chiset.git] / char-db-turtle.el
index 83d1731..7334165 100644 (file)
@@ -1,6 +1,6 @@
 ;;; char-db-turtle.el --- Character Database utility -*- coding: utf-8-er; -*-
 
-;; Copyright (C) 2017 MORIOKA Tomohiko.
+;; Copyright (C) 2017, 2018 MORIOKA Tomohiko.
 
 ;; Author: MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
 ;; Keywords: CHISE, Character Database, RDF, Turtle, ISO/IEC 10646, UCS, Unicode, MULE.
     =ucs-itaiji-004
     =ucs-itaiji-005
     =ucs-itaiji-006
+    =ucs-itaiji-007
+    =ucs-itaiji-008
+    =ucs-itaiji-009
+    =ucs-itaiji-010
+    =ucs-itaiji-011
     =ucs-itaiji-084
     =ucs-var-001
     =ucs-var-002
+    =ucs-var-003
     =ucs-var-004
+    =ucs-var-005
+    =ucs-var-006
+    =ucs-var-008
+    =ucs-var-010
     =cns11643-1 =cns11643-2 =cns11643-3
     =cns11643-4 =cns11643-5 =cns11643-6 =cns11643-7
     =gb2312
     =ucs@JP/hanazono
     =gb12345
     =ucs@cns
+    =ucs@gb
     =zinbun-oracle =>zinbun-oracle
     =daikanwa
     =ruimoku-v6
     =cbeta =jef-china3
+    =daikanwa/+2p
     =+>ucs@iso =+>ucs@unicode
     =+>ucs@jis
     =+>ucs@cns
     =+>ucs@ks
+    =+>ucs@jis/1990
     =>mj
     =>jis-x0208 =>jis-x0213-1
     =>jis-x0208@1997
     =>ucs@iwds-1
+    =>ucs@cognate
     =>ucs@component
     =>iwds-1
     =>ucs@iso
     =>gt-k
     =>>ucs@iso =>>ucs@unicode
     =>>ucs@jis =>>ucs@cns =>>ucs@ks
+    =>>mj
     =>>gt-k
+    =>>hanyo-denshi/ks
     ==mj
     ==ucs@iso
     ==ucs@unicode
     ==koseki
     ==daikanwa
     ==gt-k
+    ==ucs@gb
+    ==ucs-itaiji-001
+    ==ucs-itaiji-002
+    ==ucs-itaiji-003
+    ==ucs-itaiji-005
+    ==ucs-itaiji-006
+    ==ucs-var-002
     ==ucs@JP/hanazono
+    ==daikanwa/+2p
     =>>jis-x0208 =>>jis-x0213-1 =>>jis-x0213-2
     =+>jis-x0208 =+>jis-x0213-1 =+>jis-x0213-2
     =+>hanyo-denshi/jt
     =jis-x0208@1983 =jis-x0208@1978
     =>ucs-itaiji-001
     =>ucs-itaiji-002
+    =>ucs-itaiji-003
+    =>ucs-itaiji-004
     =>ucs-itaiji-005
+    =>ucs-itaiji-006
+    =>ucs-itaiji-007
+    =>ucs-itaiji-001@iwds-1
     ==>ucs@bucs
     =big5
     =>cbeta
     ===ucs@ks
     ===ucs@gb
     =shinjigen
+    =shinjigen@rev
     =shinjigen@1ed
     =shinjigen/+p@rev
     ==shinjigen
     ==shinjigen@rev
     ==daikanwa/+p
+    ==shinjigen@1ed
     ===daikanwa/+p
     =>daikanwa/ho
     ===daikanwa/ho
                   "._.")
                  ((eq c ?=)
                   ".:.")
+                 ((eq c ?|)
+                  "._cmp_.")
                  (t
                   (char-to-string c))))
               (www-uri-encode-feature-name feature-name)
     ":denotation-of")
    ((eq '<-formed feature-name)
     ":form-of")
+   ((eq '<-same feature-name)
+    "ideo:same-as")
+   ((eq '<-simplified feature-name)
+    "ideo:simplified-form-of")
+   ((eq '<-vulgar feature-name)
+    "ideo:vulgar-form-of")
+   ((eq '<-wrong feature-name)
+    "ideo:wrong-form-of")
+   ((eq '<-original feature-name)
+    "ideo:original-form-of")
+   ((eq '<-ancient feature-name)
+    "ideo:ancient-form-of")
+   ((eq '<-Small-Seal feature-name)
+    "ideo:Small-Seal-of")
+   ((eq '<-interchangeable feature-name)
+    "ideo:interchangeable-form-of")
+   ((eq '->interchangeable feature-name)
+    "ideo:interchangeable")
+   ((eq '->mistakable feature-name)
+    "ideo:mistakable")
    ((eq 'hanyu-dazidian feature-name)
     "ideo:hanyu-dazidian")
    (t
   )
 
 (defun char-db-turtle-insert-metadata (name value)
-  (let (col indent)
+  (let (col indent ret)
     (insert (format "%-7s " name))
     (cond
      ((or (eq name :sources)
        (insert (format " ,\n%schisebib:%s" indent
                        (chise-turtle-uri-encode-ccs-name source))))
       nil)
+     ((eq name :references)
+      (setq ret (car value))
+      (setq ret (plist-get (nth 1 ret) :ref))
+      (setq col (current-column))
+      (setq indent (make-string col ?\ ))
+      (insert (format "<%s>" ret))
+      (dolist (refspec (cdr value))
+       (setq ret (plist-get (nth 1 refspec) :ref))
+       (insert (format " ,\n%s<%s>" indent ret)))
+      nil)
      (t
       (insert (format "%S" value))
       nil))))
                          line-separator))
          (setq col (current-column))
          (insert (format ":context domain:%-7s ;\n%s:target  %S"
-                         domain
+                         (chise-turtle-uri-encode-ccs-name domain)
                          (make-string col ?\ )
                          value))
          (setq attributes (delq key attributes))
                    ))
               )
              ((eq name 'ideographic-structure)
-              (insert (isd-turtle-format-char nil nil value nil
+              (insert (isd-turtle-format-char nil nil value (/ column 4)
                                               'isd 'without-head-char))
               (insert " ;")
               )