Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[export] Persons: Trismegistos data mapping #259

Open
tuurma opened this issue Oct 11, 2019 · 11 comments
Open

[export] Persons: Trismegistos data mapping #259

tuurma opened this issue Oct 11, 2019 · 11 comments

Comments

@tuurma
Copy link
Member

tuurma commented Oct 11, 2019

(Michael) I would like to virtually introduce to you Yanne Broux, who works on the Leuven Trismegistos project, with whom we will be collaborating on the next LGPN volume on Egypt. The plan is to make an export of person records from the Trismegistos database, which is in Filemaker, directly into our eXist database for LGPN — this would be some time in the future, after we have done preliminary work on the data on the Filemaker side, while we will also continue to add some records to the eXist database directly. But we would like already to begin thinking about how best to structure that export/import, and if possible run a test on a sample data set sometime soon. To that end Yanne has some practical questions about the technical details of your design, if you wouldn’t mind answering them directly.

(Yanne Broux) I think the most important thing I need is an overview of the different fields in the LGPN database. That way, I can make a correspondence list so that you know what field in Trismegistos corresponds to which field in LGPN. Also, when Michael showed me the database quickly last week, we noticed that they will be collecting some information in Trismegistos which they will need in LGPN also, but which is not yet entirely formatted according to LGPN standards. I guess you will need to create new fields to accommodate this information, which the LGPN collaborators can then standardize in their database. I will also indicate which fields these are specifically.

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Sample person record

<TEI xmlns="http://www.tei-c.org/ns/1.0">
    <teiHeader>
        <fileDesc>
            <titleStmt>
                <title>Lexicon of Greek Personal Names</title>
            </titleStmt>
        </fileDesc>
        <revisionDesc>
            <listChange>
                <change resp="#" when="2017-06-08">Edit entry via LGPN-ling interface</change>
                <change resp="#" when="2018-02-16">Edit entry via LGPN-ling interface</change>
                <change resp="#" when="2018-02-27">Edit entry via LGPN-ling interface</change>
                <change when="2018-03-26" resp="#">Edit entry via LGPN-ling interface</change>
            </listChange>
        </revisionDesc>
    </teiHeader>
    <text>
        <body>
            <listPerson>
                <person sex="1" type="" xml:id="P0001cf48-28a1-4d50-b40a-53a5342845ba">
                    <bibl type="volume">
                        <ref target="V6"/>
                    </bibl>
                    <birth ana="document" cert="low" notAfter="800" notBefore="600" precision="period" when=""/>
                    <age type="death"/>
                    <bibl ana="" type="primary">
                        <ref ana="" subtype="" target="SEG" type="mosaic">VIII 230 D</ref>
                        <date ana="context palaeography typology" cert="low" notAfter="800" notBefore="600" precision="period" when=""/>
                        <note type="textual-annotation"/>
                        <note type="source"/>
                    </bibl>
                    <persName type="attested"/>
                    <listNym>
                        <nym ana="greek" cert="" n="1" nymRef="Πιστικός" type="nomen_proprium">
                            <seg type="linking"/>
                            <form type="attested">
                                <persName ana="Gen" corresp="s1" n="" xml:lang="grc"/>
                            </form>
                        </nym>
                        
                    </listNym>
                    <state subtype="citizen" type="location">
                        <placeName cert="high" corresp="s1" key="P9ad4b00a-edc2-451b-b3fc-7e8bb96ac6c0" subtype="territory" type="ancient"/>
                    </state>
                    <bibl ana="name" subtype="secondary" type="auxiliary">
                        <ref target="SEG">XXX 1685</ref>
                        
                        <ptr ref=""/>
                    </bibl>
                    <bibl ana="equal" type="primary">
                        <ref ana="" subtype="" target="CBCMPIPT" type="mosaic">44</ref>
                        <date ana="" cert="high" notAfter="" notBefore="" precision="import" when=""/>
                        <note type="textual-annotation"/>
                        <note type="source"/>
                    </bibl>
                    <bibl ana="date" subtype="" type="auxiliary">
                        <ref target="SEG">LIII 1835</ref>
                        
                        <ptr ref=""/>
                    </bibl>
                    
                    
                    
                    <trait ana="" key="Christian" type="religion"/>
                    
                </person>
                <listRelation>
                    <relation cert="high" name="child" passive="" subtype="natural" type="family"/>
                </listRelation>
            </listPerson>
        </body>
    </text>
</TEI>

and relevant LGPN editor entry http://clas-lgpn4.classics.ox.ac.uk:8080/exist/apps/lgpn-editor/editor.xhtml?id=P0001cf48-28a1-4d50-b40a-53a5342845ba

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Main sections

Person record is divided roughly into sections, visually grouping related information. To an extent sections are mapped also to XML document fragments though structures of TEI sometimes impose some levels of wrapping or indirectness.

Some sections can repeat, * denoting 0 or more occurrences, + 1 or more. No marker means exactly one occurrence.

  1. General
  2. Names
  • name +
    • attested form +
  • Roman name +
  1. Primary Sources +
  2. Places +
  3. Status *
  4. Secondary Sources *
  5. Relationships *

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Correspondence between UI and XML structure

General

image

<text>
    <body>
        <listPerson>
            <person sex="1" type="" xml:id="P0001cf48-28a1-4d50-b40a-53a5342845ba">
                <bibl type="volume">
                    <ref target="V6"/>
                </bibl>
                <birth ana="document" cert="low" notAfter="800" notBefore="600" precision="period" when=""/>
                <age type="death"/>
            <!--  other sections -->
            </person>
        </listPerson>
    </body>
</text>

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Names

Nym

image

<text>
    <body>
        <listPerson>
            <person sex="1" type="" xml:id="P0001cf48-28a1-4d50-b40a-53a5342845ba">
                <!-- ... -->
                <listNym>
                    <nym ana="greek" cert="" n="1" nymRef="Πιστικός" type="nomen_proprium">
                        <seg type="linking"/>
                        <form type="attested">
                            <persName ana="Gen" corresp="s1" n="" xml:lang="grc"/>
                        </form>
                    </nym>    
                </listNym>
            <!-- ... -->
            </person>
        </listPerson>
    </body>
</text>

Roman name

image

<listNym>
  <!-- ... -->
                       <nym ana="greek" corresp="s1" n="1" type="Roman">
                            <persName type="praenomen">Τιβέριος</persName>
                            <persName type="nomen_gentile">Κλαύδιος</persName>
                            <persName subtype="son" type="filiation"/>
                            <persName type="tribe"/>
                        </nym>

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Primary sources

image

    <bibl ana="" type="primary">
                        <ref ana="bilingual" subtype="" target="CIL" type="inscr_stone">VI 710</ref>
                        <date ana="" cert="high" notAfter="" notBefore="" precision="period" when=""/>
                        <note type="textual-annotation"/>
                        <note type="source"/>
     </bibl>

     <bibl ana="equal" type="primary">
                        <ref ana="" subtype="" target="PAT" type="inscr_stone">248</ref>
                        <date ana="" cert="high" notAfter="" notBefore="" precision="period" when=""/>
                        <note type="textual-annotation"/>
                        <note type="source"/>
      </bibl>

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Places

image

                    <state subtype="citizen" type="location">
                        <placeName cert="high" corresp="s1" key="Pa6ef6f42-df7a-486c-b2b2-5752991285d2" subtype="" type="ancient"/>
                    </state>

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Status

  • status
  • office
  • religion
  • profession
  • Roman

image

      <trait type="profession" key="" ana=""/>
        <trait type="office" key="" ana=""/>
        <trait type="status" key="" ana=""/>
        <trait type="religion" key="" ana=""/>
        <trait type="Roman" key="" ana=""/>

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Secondary sources

image

<bibl ana="name" subtype="" type="auxiliary">
                        <ref target="Yon_Hist.etonomast.">p. 44</ref>
                        <seg type="details"/>
                        <ptr ref=""/>
</bibl>

@tuurma
Copy link
Member Author

tuurma commented Oct 11, 2019

Relationships

Each relationship is encoded as relation element. All are wrapped together in listRelation

image

<listRelation>
           <relation cert="high" name="child" passive="" subtype="natural" type="family"/> </listRelation>

@tuurma tuurma changed the title [export] Trismegistos data mapping [export] Persons: Trismegistos data mapping Oct 11, 2019
@tuurma
Copy link
Member Author

tuurma commented Oct 16, 2019

Single Trismegistos entry (sample from test_Kleon.xml)

 <entry>
        <tex_id>2491</tex_id>
        <publication>P. Petrie Kleon 19</publication>
        <tex_language>Greek</tex_language>
        <tex_material>papyrus</tex_material>
        <provenance>Egypt, 00a? - Gurob [found]&lt;br&gt;Egypt, 00 - Arsinoites (Fayum) [written]</provenance>
        <date_short>BC 256 Oct 13?</date_short>
        <y1>-256</y1>
        <m1>10</m1>
        <d1>13</d1>
        <y2>-256</y2>
        <m2>10</m2>
        <d2>13</d2>
        <archive_id>122</archive_id>
        <archive_name>Kleon and Theodoros engineers</archive_name>
        <ref_id>8933</ref_id>
        <ref_name>Kleon</ref_name>
        <line>Ro 1</line>
        <cluster_position>person</cluster_position>
        <pseudo1/>
        <ps1_namvarcase_id/>
        <ps1__case/>
        <ps1_namvar_id/>
        <ps1_variant/>
        <pseudo2/>
        <ps2_namvarcase_id/>
        <ps2_case/>
        <ps2_namvar_id/>
        <ps2_variant/>
        <pseudo3/>
        <ps3_namvarcase_id/>
        <ps3_case/>
        <ps3_namvar_id/>
        <ps3_variant/>
        <given_name>Κλέωνι</given_name>
        <gn_namvarcase_id>93348</gn_namvarcase_id>
        <gn_case>dat</gn_case>
        <gn_namvar_id>2193</gn_namvar_id>
        <gn_variant>Κλέων</gn_variant>
        <double_name/>
        <dn_namvarcase_id/>
        <dn_case/>
        <dn_namvar_id/>
        <dn_variant/>
        <triple_name/>
        <tn_namvarcase_id/>
        <tn_case/>
        <tn_namvar_id/>
        <tn_variant/>
        <language>Greek</language>
        <residence_id/>
        <residence_name/>
        <floruit/>
        <phys_descr/>
        <age/>
        <functions/>
        <ethnic/>
        <biblio/>
        <per_id>2208</per_id>
        <gender>Man</gender>
        <prosopographia_ptolemaica>00534+add.</prosopographia_ptolemaica>
        <per_id_father/>
        <per_id_patgrandfather/>
        <per_id_patgrandmother/>
        <per_id_mother/>
        <per_id_matgrandfather/>
        <per_id_matgrandmother/>
        <per_id_spouse1/>
        <per_id_spouse2/>
        <per_id_master1/>
        <per_id_master2/>
    </entry>

@tuurma
Copy link
Member Author

tuurma commented Oct 29, 2019

Test server with intermediate import results (work in progress)

https://lgpntest.existsolutions.com/exist/apps/lgpn-editor/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant