diff options
Diffstat (limited to 'examples/generif.scm')
| -rwxr-xr-x | examples/generif.scm | 130 |
1 files changed, 49 insertions, 81 deletions
diff --git a/examples/generif.scm b/examples/generif.scm index 628e34e..a8a8460 100755 --- a/examples/generif.scm +++ b/examples/generif.scm @@ -20,37 +20,25 @@ (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:GeneWikiEntry a rdfs:Class) - (gnc:GNWikiEntry rdfs:subClassOf gnc:GeneWikiEntry) - (gnt:initial a owl:ObjectProperty) - (gnt:initial rdfs:domain gnc:GeneWikiEntry) - (gnt:initial skos:definition "Optional user or project code or your initials") - (gnt:reason a owl:ObjectProperty) - (gnt:reason rdfs:domain gnc:GeneWikiEntry) - (gnt:reason skos:definition "The reason why this resource was modified") - (gnc:GNWikiEntry rdfs:comment "Represents GeneRIF Entries entered from GeneNetwork") - (gnt:geneSymbol rdfs:domain gnc:GNWikiEntry)) + "WHERE GeneRIF.display > 0 AND GeneRIF.comment IS NOT NULL GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") (triples - (format - #f "gn:wiki-~a-~a" - (field GeneRIF Id) - (field GeneRIF versionId)) + (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 (sanitize-rdf-string (field GeneRIF comment)) '(("'" . "\\'")))))) - (set rdf:type 'gnc:GNWikiEntry) + (set rdf:type 'gnc:gn_wiki_entry) (set gnt:symbol (field GeneRIF symbol)) - (set gnt:belongsToSpecies (string->identifier - "" - (remap-species-identifiers (field Species Fullname)) - #:separator "" - #:proc string-capitalize-first)) + (set gnt:has_species (string->identifier "" (remap-species-identifiers (field Species Fullname)))) (set dct:created (string->symbol (format #f "~s^^xsd:datetime " @@ -64,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) "") @@ -80,7 +67,7 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") '^^xsd:integer)) (set gnt:initial (sanitize-rdf-string (field GeneRIF initial))) (set gnt:reason (field GeneRIF reason)) - (multiset gnt:belongsToCategory + (multiset gnt:belongs_to_category (string-split (field ("GROUP_CONCAT(DISTINCT GeneCategory.Name SEPARATOR ';')" GeneCategory)) @@ -89,53 +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:NCBIWikiEntry rdfs:subClassOf gnc:GeneWikiEntry) - (gnc:NCBIWikiEntry rdfs:comment "Represents GeneRIF Entries obtained from NCBI")) (triples - (format - #f "gn:rif-~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)) - (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))))))) + (string->identifier + "" (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))))))) @@ -160,11 +128,11 @@ GROUP BY GeneRIF.Id, GeneRIF.versionId, GeneRIF.symbol") ("rdfs:" "<http://www.w3.org/2000/01/rdf-schema#>") ("skos:" "<http://www.w3.org/2004/02/skos/core#>") ("xkos:" "<http://rdf-vocabulary.ddialliance.org/xkos#>") - ("gn:" "<http://genenetwork.org/id/>") - ("gnc:" "<http://genenetwork.org/category/>") - ("gnt:" "<http://genenetwork.org/term/>") + ("gn:" "<http://rdf.genenetwork.org/v1/id/>") + ("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=>") |
