aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMunyoki Kilyungi2024-10-14 15:18:00 +0300
committerMunyoki Kilyungi2024-10-14 15:18:00 +0300
commit34fcf9353062a18138da83e0f2336b2eb20a2492 (patch)
tree28c2d33a04d88694ab6f9c51f59146f474afec4a
parente79502b828ca8be4d105364c5a2097839e7765ce (diff)
downloadgn-transform-databases-34fcf9353062a18138da83e0f2336b2eb20a2492.tar.gz
Use short-form RDF triples.
Signed-off-by: Munyoki Kilyungi <me@bonfacemunyoki.com>
-rwxr-xr-xexamples/generif.scm69
1 files changed, 38 insertions, 31 deletions
diff --git a/examples/generif.scm b/examples/generif.scm
index 909ec13..a0db6de 100755
--- a/examples/generif.scm
+++ b/examples/generif.scm
@@ -39,7 +39,8 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
#f "gn:wiki-~a-~a"
(field GeneRIF Id)
(field GeneRIF versionId))
- (set rdfs:label (string->symbol (format #f "'''~a'''@en" (field GeneRIF comment))))
+ (set rdfs:label (string->symbol
+ (sanitize-rdf-string (format #f "'''~a'''@en" (field GeneRIF comment)))))
(set rdf:type 'gnc:GNWikiEntry)
(set gnt:symbol (field GeneRIF symbol))
(set gnt:belongsToSpecies (string->identifier
@@ -96,36 +97,42 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol")
(field
("DATE_FORMAT(createtime, '%Y-%m-%dT%T')" CreateTime))
(field GeneRIF_BASIC VersionId))
- (set rdf:type 'gnc:NCBIWikiEntry)
- (set gnt:symbol (field GeneRIF_BASIC symbol))
- (set rdfs:label
- (let* ((comment
- (format #f "'~a'@en"
- (replace-substrings
- (field GeneRIF_BASIC comment)
- '(("\\" . "\\\\")
- ("\n" . "\\n")
- ("\r" . "\\r")
- ("'" . "\\'"))))))
- (string->symbol comment)))
- (set dct:created
- (string->symbol
- (format #f "~s^^xsd:datetime "
- (field
- ("CAST(createtime AS CHAR)" EntryCreateTime)))))
- (set gnt:belongsToSpecies (string->identifier
- ""
- (remap-species-identifiers (field Species Fullname))
- #:separator ""
- #:proc string-capitalize-first))
- (set gnt:hasGeneId (string->symbol (format #f "generif:~a" (field GeneRIF_BASIC GeneId))))
- (set skos:notation (match (field GeneRIF_BASIC TaxID TaxonomicId)
- ((? number? x)
- (string->symbol (format #f "taxon:~a" x)))
- (else "")))
- (set dct:hasVersion (annotate-field (format #f "~s" (field GeneRIF_BASIC versionId))
- '^^xsd:integer))
- (set dct:references (string->symbol (format #f "pubmed:~a" (field GeneRIF_BASIC PubMed_ID))))))
+ (set rdf:type
+ (let* ((comment (format #f "'~a'@en"
+ (replace-substrings
+ (sanitize-rdf-string
+ (field GeneRIF_BASIC comment))
+ '(("\\" . "\\\\")
+ ("\n" . "\\n")
+ ("\r" . "\\r")
+ ("'" . "\\'")))))
+ (create-time (format #f "~s^^xsd:datetime"
+ (field
+ ("CAST(createtime AS CHAR)" EntryCreateTime))))
+ (symbol (field GeneRIF_BASIC symbol))
+ (species (string->identifier
+ ""
+ (remap-species-identifiers (field Species Fullname))
+ #:separator ""
+ #:proc string-capitalize-first))
+ (gene-id (field GeneRIF_BASIC GeneId))
+ (taxon-id (field GeneRIF_BASIC TaxID TaxonomicId))
+ (pmid (field GeneRIF_BASIC PubMed_ID))
+ (version-id (field GeneRIF_BASIC versionId)))
+ (string->symbol
+ (string-append
+ (format #f "gnc:NCBIWikiEntry ;\n")
+ (format #f "\trdfs:label ~a ;\n" comment)
+ (format #f "\tgnt:belongsToSpecies ~a ;\n" species)
+ (format #f "\tgnt:symbol ~s ;\n" symbol)
+ (format #f "\tgnt:hasGeneId generif:~a ;\n" gene-id)
+ (match taxon-id
+ ((? number? x)
+ (format #f "\tskos:notation taxon:~a ;\n" taxon-id))
+ (else ""))
+ (format #f "\tdct:hasVersion \"~a\"^^xsd:integer ;\n" version-id)
+ (format #f "\tdct:references pubmed:~a ;\n" pmid)
+ (format #f "\tdct:created ~a" create-time)))))))