<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Laurent ML</string-name>
          <email>laurentmlcontact-metaindex@yahoo.fr</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>MetaindeX [1] is an open-source [8], online application which o↵ers an opportunity to explore and study linked archives. In this article we will focus on user interface features for loading data, displaying and studying those links within a set of documents from French Archives Nationales.</p>
      </abstract>
      <kwd-group>
        <kwd>links</kwd>
        <kwd>graphs</kwd>
        <kwd>user interface</kwd>
        <kwd>NoSQL database</kwd>
        <kwd>metaindex</kwd>
        <kwd>gephi</kwd>
        <kwd>archives</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1.1
1.2</p>
      <p>
        Documents and Links Modelisation
NoSQL Database MetaindeX tool relies on ElasticSearch NoSQL database
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], whose model can be summarized as a set of catalogs (called ’indices’), each
catalog containing documents, each document being made of a unique identifier
and some fields (string or number mainly). Though this database does not define
constraints between fields, a minimal schema definition is still required, as a list
of name and type of available fields. This schema is defined at catalog level, and
then a document from this catalog can use any of those fields.
______________
* Copyright 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0
      </p>
      <p>International (CC BY 4.0).
Links modelisation Links are represented as a ’string’ field in database,
containing identifiers of target documents to point at. As an example, if a catalog
contains 3 documents with ID ”doc001”,”doc002”,”doc003” and we want
document ”doc002” to reference documents ”doc001” and ”doc003”, then ”doc002”
will contain a field (which we will call ’doclink’ for this example) with text
”doc001,doc003” as a value. Interpretation of this string is then done by
application when needed.</p>
      <p>An additional ’weight’ information can be associated to each link by adding
a sux ’: &lt;weight&gt;’ to the referenced id. Following our previous example, value
”doc001:4,doc003” for our ’doclink’ field would then mean a link to ”doc001”
with a weight of 4 and a link to ”doc003” with implicit weight of 1. This
convention can be directly used in CSV files, where a column called ’doclink’ for our
example would contain, for each line, IDs and weight of documents to point at.</p>
      <p>Actual meaning of links weight is left to user interpretation. As an example,
if the link is between two ”cities”, it could represent some amount of commercial
exchange, while if it is between two artists, it could represent the number of
peaces of art they own from each other.
2</p>
      <p>
        Preparing, Uploading and Exploring Data and Links
From original Excel files have been extracted a list of unique persons on the one
hand and a list of unique archives on the other hand, as two separate CSV files
(about 4400 individuals and 2800 archives), with the help of OpenRefine tool [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
for data cleaning, and a set of dedicated python scripts for data extraction and
formatting. Also links have been reconciled for both personal and professional
relationships between persons.
      </p>
      <p>Uploading contents into the server is done by dragging CSV files over the
catalog contents in the user interface. MetaindeX CSV-import module allows
then user to map CSV columns to new or existing fields in the catalog.</p>
      <p>Once loaded, documents are represented as cards, each card being a single
document, i.e. a single line from our input CSV files (in our case either an
archive or a person). Each card can be expanded to see or edit document’s fields
as illustrated on Figure 1.</p>
      <p>We can also notice on Figure 1 that links are resolved to get a more
userfriendly summary of corresponding document, rather than simply IDs list. Also
jumping from one document to another, following the links, is possible by clicking
on them, allowing user to navigate through those connections.</p>
      <p>
        Lucene query syntax [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is available as a search engine, and allows advanced
search, such as for example ”find all persons whose first name approximately
equals to ’Antoine’ and was born before year 1700”, which would be translated
with following query:
type:person AND firstname:Antoine~ AND datestart:&lt;1700
      </p>
      <p>
        At last, though its usage and possibilities are out of scope of this
demonstration, we can precise that a Kibana [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] module is integrated to MetaindeX,
allowing user to create advanced statistic charts on its corpus.
MetaindeX is able to generate a graph description file (GEXF format [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ])
compatible with main graph applications such as Gephi [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In such a generated
graph, each document would be a node and each link would be an edge.
Generation module allows to select which fields to be used as nodes’ metadata,
allowing fine graph rendering customization based on our contents, for example
by assigning a color to nodes depending on value of a given field.
      </p>
      <p>Detailed usage of Gephi is out of the scope of this article, but once GEXF
file generated from our data and loaded in Gephi, with only few settings we
can already identify some clusters within professional and personal relationships
among persons, as shown on Figure 2 (each grey dot represents a person, names
have been hidden for better readability of the networks).</p>
      <p>We can see there some clusters already well identified, where several links
seem to converge around same groups of individuals. Those links were created
each time two persons were found to have a professional relationship (for
example master and student), seen in green, or personal relationship in pink (mariage
witness, siblings, etc.). That information could help the researcher to get a better
vision of social and professional relationships over his corpus, and maybe
interpret with better accuracy historical facts he could find on archives contents.
Since bigger graphs might be more dicult to read, MetaindeX o↵ers also a
specific algorithm to generate simplified aggregated graphs. This way, nodes and
links are gathered up following values of a specific field. This ”group-by” feature
allows to get much more readable graphs directly focused on topic the researcher
is interested in.</p>
      <p>Following our example, we can group persons by parish they live in, which
means that all persons having a ”parish” field with a similar value will be grouped
within a single node, and their respective links will also be aggregated to this
node.</p>
      <p>Figure 3 shows as a result all parishes found in the corpus, their size
depending on amount of individuals registered as living there, while links thickness
being based on amount of links that all individuals from given parish have with
individuals from another parish. On that graph, we can see that parishes
SaintGermain-Le-Vieux and Saint-M´ed´eric (top right) seems to have quite numerous
professional relationships (thicker link) despite their smaller amount of persons
recorded to live in (smaller nodes size) from our corpus. That could maybe lead
the researcher to a new approach or hints to understand social relationships of
this community.
4</p>
      <p>Conclusion
Demonstration has been done that, starting from a consistent set of data,
MetaindeX loads quickly and eciently the corpus, let us explore contents with
advanced queries and links navigation. GEXF export module, with both basic and
group-by algorithms, let us easily load our data in Gephi for advanced graph
exploration. If phase of data preparation remains a major step requiring
sometimes some coding skills, the proposed environment made of MetaindeX and
Gephi tools, o↵ers a ready-to-use, coding-free, quick and ecient ecosystem to
explore a set of linked archives for the researcher.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. MetaindeX, http://www.metaindex.fr.
          <source>Last accessed 3 Jun 2021</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Lucene</given-names>
            <surname>Query</surname>
          </string-name>
          <string-name>
            <surname>Language</surname>
          </string-name>
          , https://lucene.apache.org/core/.
          <source>Last accessed 3 Jun 2021</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. GEXF file format, https://gephi.org/gexf/format/.
          <source>Last accessed 3 Jun 2021</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Mathieu</given-names>
            <surname>Bastian</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sebastien</given-names>
            <surname>Heymann</surname>
          </string-name>
          and
          <string-name>
            <given-names>Mathieu</given-names>
            <surname>Jacomy</surname>
          </string-name>
          .
          <article-title>Gephi: An Open Source Software for Exploring and Manipulating Networks</article-title>
          , http://www.aaai.org/ocs/index.php/ICWSM/09/paper/view/154.2009
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. ElasticSearch, https://www.elastic.co/guide/en/elasticsearch/reference/current/elasticsearchintro.html.
          <source>Last accessed 3 Jun 2021</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Kibana, https://www.elastic.co/guide/en/kibana/current/introduction.html.
          <source>Last accessed 3 Jun 2021</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. OpenRefine, https://openrefine.org/.
          <source>Last accessed 3 Jun 2021</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. MetaindeX source code, https://github.com/laurentmldev/metaindex.
          <source>Last update Aug</source>
          <year>2021</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>