diff options
Diffstat (limited to 'examples/generif.scm')
| -rwxr-xr-x | examples/generif.scm | 116 |
1 files changed, 45 insertions, 71 deletions
diff --git a/examples/generif.scm b/examples/generif.scm index c4b70ae..a8a8460 100755 --- a/examples/generif.scm +++ b/examples/generif.scm @@ -20,25 +20,16 @@ (left-join Species "ON Species.SpeciesId = GeneRIF.SpeciesId") (left-join GeneRIFXRef "ON GeneRIFXRef.GeneRIFId = GeneRIF.Id") (left-join GeneCategory "ON GeneRIFXRef.GeneCategoryId = GeneCategory.Id")) - "WHERE GeneRIF.display > 0 AND GeneRIF.comment IS NOT NULL -GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") - (schema-triples - (gnc:gene_wiki_entry a rdfs:Class) - (gnc:gn_wiki_entry rdfs:subClassOf gnc:gene_wiki_entry) - (gnt:initial a owl:ObjectProperty) - (gnt:initial rdfs:domain gnc:gene_wiki_entry) - (gnt:initial skos:definition "Optional user or project code or your initials") - (gnt:reason a owl:ObjectProperty) - (gnt:reason rdfs:domain gnc:gene_wiki_entry) - (gnt:reason skos:definition "The reason why this resource was modified") - (gnc:gn_wiki_entry rdfs:comment "Represents GeneRIF Entries entered from GeneNetwork") - (gnt:gene_symbol rdfs:domain gnc:gn_wiki_entry)) + "WHERE GeneRIF.display > 0 AND GeneRIF.comment IS NOT NULL GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") (triples - (string->identifier - "wiki" (format #f "~a_~a" - (field GeneRIF Id) - (field GeneRIF versionId)) - #:separator "_") + (string->identifier "" + (gn-uuid (format #f "~a.~a.~a?type=wikii" + (field GeneRIF Id) + (field GeneRIF versionId) + (field GeneRIF createtime))) + #:url-char #\-) + (set dct:identifier (gn-uuid (format #f "~a?type=wiki" + (field GeneRIF Id)))) (set rdfs:label (string->symbol (format #f "'~a'@en" (replace-substrings @@ -47,7 +38,7 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") '(("'" . "\\'")))))) (set rdf:type 'gnc:gn_wiki_entry) (set gnt:symbol (field GeneRIF symbol)) - (set gnt:belongs_to_species (string->identifier "" (remap-species-identifiers (field Species Fullname)))) + (set gnt:has_species (string->identifier "" (remap-species-identifiers (field Species Fullname)))) (set dct:created (string->symbol (format #f "~s^^xsd:datetime " @@ -61,13 +52,12 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") (format #f "pubmed:~a" (string-trim-both pmid)))))) (string-split (field GeneRIF PubMed_ID PMID) #\space))) - (set foaf:mbox - (match (sanitize-rdf-string (field GeneRIF email)) - ((? string-blank? mbox) "") - (mbox (string->symbol - (format #f "<~a>" mbox))))) - (set dct:identifier (annotate-field (format #f "~s" (field GeneRIF Id)) - '^^xsd:integer)) + ;; Hide e-mail for now. + ;; (set foaf:mbox + ;; (match (sanitize-rdf-string (field GeneRIF email)) + ;; ((? string-blank? mbox) "") + ;; (mbox (string->symbol + ;; (format #f "<~a>" mbox))))) (set foaf:homepage (match (sanitize-rdf-string (field GeneRIF weburl)) ((? string-blank? homepage) "") @@ -86,49 +76,34 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") (define-transformer ncbi-genewiki-entries (tables (GeneRIF_BASIC (left-join Species "USING (SpeciesId)"))) - (schema-triples - (gnc:ncbi_wiki_entry rdfs:subClassOf gnc:gene_wiki_entry) - (gnc:ncbi_wiki_entry rdfs:comment "Represents GeneRIF Entries obtained from NCBI")) (triples (string->identifier - "rif" (format #f "~a_~a_~a_~a" - (field GeneRIF_BASIC GeneId) - (field GeneRIF_BASIC PubMed_ID) - (field ("DATE_FORMAT(createtime, '%Y-%m-%dT%T')" CreateTime)) - (field GeneRIF_BASIC VersionId)) - #:separator "_") - (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)))) - (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:ncbi_wiki_entry ;\n") - (format #f "\trdfs:label ~a ;\n" comment) - (format #f "\tgnt:belongs_to_species ~a ;\n" species) - (format #f "\tgnt:symbol ~s ;\n" symbol) - (format #f "\tgnt:has_gene_id 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))))))) + "" (gn-uuid (format #f "~a_~a_~a_~a" + (field GeneRIF_BASIC GeneId) + (field GeneRIF_BASIC PubMed_ID) + (field ("DATE_FORMAT(createtime, '%Y-%m-%dT%T')" CreateTime)) + (field GeneRIF_BASIC VersionId))) + #:url-char #\-) + (set rdf:type 'gnc:ncbi_wiki_entry) + (set rdfs:label (format #f "'~a'@en" + (replace-substrings + (sanitize-rdf-string + (field GeneRIF_BASIC comment)) + '(("\\" . "\\\\") + ("\n" . "\\n") + ("\r" . "\\r") + ("'" . "\\'"))))) + (set gnt:symbol (field GeneRIF_BASIC symbol)) + (set gnt:has_species (string->identifier "" (remap-species-identifiers (field Species Fullname)))) + (set skos:notation (ontology 'taxon: (field GeneRIF_BASIC TaxID TaxonomicId))) + (set dct:hasVersion (annotate-field (field GeneRIF_BASIC versionId) '^^xsd:integer)) + (set gnt:has_gene_id (ontology 'generif: (field GeneRIF_BASIC GeneId))) + (set dct:references (ontology 'pubmed: (field GeneRIF_BASIC PubMed_ID))) + (set dct:created + (string->symbol + (format #f "~s^^xsd:datetime" + (field + ("CAST(createtime AS CHAR)" EntryCreateTime))))))) @@ -157,7 +132,7 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") ("gnc:" "<http://rdf.genenetwork.org/v1/category/>") ("gnt:" "<http://rdf.genenetwork.org/v1/term/>") ("dct:" "<http://purl.org/dc/terms/>") - ("foaf:" "<http://xmlns.com/foaf/0.1/>") + ("foaf:" "<http://xmlns.com/foaf/0.1/#term_>") ("pubmed:" "<http://rdf.ncbi.nlm.nih.gov/pubmed/>") ("taxon:" "<https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=>") ("generif:" "<http://www.ncbi.nlm.nih.gov/gene?cmd=Retrieve&dopt=Graphics&list_uids=>") @@ -165,9 +140,8 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") ("owl:" "<http://www.w3.org/2002/07/owl#>"))) (inputs (list - ;; gn-genewiki-entries - ncbi-genewiki-entries - )) + gn-genewiki-entries + ncbi-genewiki-entries)) (outputs `(#:documentation ,documentation #:rdf ,output)))) |
