---
title: Source Record Mapping
tags: isamples, data, source, mapping
---
# Source Record Mapping
Process for ingest of source records into iSamples.
In general the process is:
```plantuml
@startuml
skinparam monochrome true
:Source;
-> load;
:isb_thing
[postgres];
-> transform;
:isb_index
[solr];
@enduml
```
## GEOME
| Command | Description |
| --- | --- |
| git status | List all new or modified files |
| git diff | Show file differences that haven't been staged |
---
The general conceptual structure of sample records
```graphviz
digraph G {
node[shape=record, height=.3]
event [label="{Event|ID|time|location}"]
sample [label="{Sample|ID|event}"]
tissue [label="{Tissue|ID|sample}"]
expedition [color=gray, fontcolor=gray]
project [color=gray, fontcolor=gray]
photo [color=gray, fontcolor=gray]
person [color=gray, fontcolor=gray]
expedition -> project [label="isPartOf"]
event -> expedition [label="isPartOf"]
sample -> event
tissue -> sample
photo -> sample
photo -> tissue
photo -> event
photo -> expedition
}
```
## SESAR
Retrieving records and persisting to ISB. Each retrieved record is complete representation of sample though may reference other records as parent or child.
```plantuml
@startuml
skinparam monochrome true
repeat :sitemap.xml;
:IGSN;
note right
IGSN value extracted from sitemap loc
end note
:JSON-LD;
note right
api.geosamples.org/v1/sample/igsn-ev-json-ld/igsn
end note
:isb_thing;
note right
The JSON-LD is persisted as
JSON in the record.
end note
repeat while (more records?) is (yes)
@enduml
```
Generate index record
```plantuml
@startuml
skinparam monochrome true
:isb_thing;
-> SESARTransformer ;
:core record;
:isb_index;
@enduml
```
## GEOME
## OpenContext
## Smithsonian