SPARQList/glyco
提供:TogoWiki
SPARQLthon79 (4/23)
- WURCSから、糖鎖構造のイメージのRDF化するバッチの開発。base64の文字列を、sparqletでエンドポイントにロード。(青木・新町)
# Insert Image RDF by image binary ## Comment * Construct Image RDF by image binary * **confirm insert results** - https://test.sparqlist.glycosmos.org/sparqlist/check_contents_graph - http://rdf.glytoucan.org/core/demo - http://glycosmos.org/batch/image/demo ## Parameters * `hash`: hash key * default: a08a0d8f02650690ef66535c5d4df798e421a90591b666fc6ac11eb9e464868c * `target_core_graph`: core graph of gtc * default: http://rdf.glytoucan.org/core/demo * `target_image_graph`: image graph of gtc * default: http://rdf.glytoucan.org/image/demo * `target_transform_graph`: RDF graph * default: http://glycosmos.org/batch/image/demo * `target_base`: target base uri of property * default: http://glycosmos.org/batch/Wurcs2Image * `target_transform`: a name of converter * default: glycanbuilder * `target_transform_version`: a version of converter * default: 1.0.4-SNAPSHOT * `style`: image style (compact, normal, normalinfo) * default: normalinfo * `notation`:symbol notation (cfg, cfg_bw, cfg_uoxf, uoxf, uoxf_color, iupac, snfg) * default: snfg * `format`: image format (png, jpg, svg) * default: png * `base64`: image base64 * default: base64,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 ## Endpoint endpoint url ## `repo` insert user info ```sparql PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX glycan: <http://purl.jp/bio/12/glyco/glycan#> PREFIX repo: <http://repository.sparqlite.com/terms#> PREFIX glytoucan: <http://www.glytoucan.org/glyco/owl/glytoucan#> INSERT { GRAPH <{{target_core_graph}}> { ?sacc_uri glycan:has_image ?img_uri. } GRAPH <{{target_image_graph}}> { ?img_uri a glycan:Image. ?img_uri glycan:has_symbol_format <https://rdf.glycoinfo.org/symbol-format/{{symbol_format}}>. } GRAPH <{{target_transform_graph}}>{ ?text_uri <{{target_base}}/{{target_transform}}/{{target_transform_version}}> ?img_uri. } } WHERE { # Construct img_uri/hash_uri VALUES ?base64 { "{{base64}}" } BIND(IRI(CONCAT("http://rdf.glycoinfo.org/image/", ?base64)) AS ?img_uri) VALUES ?key { "{{hash}}" } BIND(IRI(CONCAT("http://repository.sparqlite.com/key#", ?key)) AS ?text_uri) # sacc_uri ?text_uri ?property ?sacc_uri. ?sacc_uri a glycan:Saccharide. } ``` ## output ```javascript ({ json({repo}) { let inserted = repo.results.bindings.map((row) => { let res = ""; for(key1 in row){ res = row[key1].value; console.log("key1: " + key1); console.log("row[key1].value: " + row[key1].value); } return res; }); let result = {}; let key2 = "result"; for (let i of inserted) { result[String(key2)] = i; } return result; } })