Cette partie du site est actuellement en construction...

This section of the site is currently under construction...


Welcome to the "Functionalities" section of the Puck 2.0 online help. Here, you can find a detailed description of all PUCK functional components. As showed on the image below, those can be firstly distinguished into three main components : the Menu Bar, the Main Window and the Partitions Bar.
This part of the guide is thus divided into sections that match with one of these Puck components. 
In order to navigate through the guide and find the functionality that you are looking for, you can identify the PUCK main component to which it is related to, and then navigate to the pertinent section of the guide by using the "Functionalities Menu" (located on the right side of this web page).
For instance, to know what is the "Additional data" frame (see below) and how to use it, click on the "Main Window" voice of the "Functionalities" menu, and then search the page running a Ctrl+F text query.
Be aware that, on the "Functionalities" menu, some entries appear even if they don't belong to the Puck main components showed below. It's because those entries are related to specific commands that the guide treates in the Menu Bar sections.




The File menu provides some of the most fundamental Puck functionalities such as creating, importing and exporting in a wide range of formats, fusing or updating kinship datasets. In addition, this menu has been recently enhanced with some kinship simulation functions.


Create a Dataset
Notebefore starting, see also the sections : How to Establish a Kinship Dataset and Files Formats for Kinship Data.

In order to create a new kinship network, use the command File > New > Empty network.
It is possible to enter data directly into Puck, but you can also use the software of your choice : the program is compatible with most popular formats.


***Simulation Techniques : Create Random Networks (Submenu)

The submenu File > New > Random network allows creating several types of randomly produced kinship networks. This simulation technique can be useful in order to compare "real" kinship data - which represent actual social practices of a given population - with randomly generated ones.
In order to create a new random network, there are two possibilities :

As kinship simulation appears between the PUCK main functions, a specific section of this guide is dedicated to this two commands. If you want to keep reading about them, click here or follow the "Functionalities Menu".


Alliance Networks
File > New > Empty Alliance network


Open Existing Datasets
If you already have a family network, you can import it directly into Puck, knowing that it can read many files formats
: text, excel, pajek, gedcom, tip, xml and prolog format.

Import a dataset by clicking File > Open... and choose your file. The data appears in the main window. It is possible to open a recently used file (File > Open recent) and to browse a recent folder (File > Open Recent Folder).

By default, Puck assumes that the dataset is a UTF-8 file. Anyway, it is possible to choose the encoding via the command : File > Open encoding.


***Open from Kinsources
The command File > Open from Kinsources allows downloading a corpus directly from the Kinsources project website. When executing the command, a dialog window called Kinsources Catalog Selector opens. You can then select a corpus and open it with PUCK.


***Reload / Revert
The command File > Reload re-establish a modified dataset to its original version (when opening the file). By doing so, every kind of modification (on individuals, families, ties, attributes, partitions...) is thus erased. Note that when a modification has been introduced into a corpus, the command name automatically switches to File > Revert. In order to avoid data loss, a dialog window automatically opens, asking to confirm the required action.


Merge Datasets
In order to fuse  two datasets you can use the command : File > Merge. When executing the command, a dialog window opens requiring a “File to be joined” (the second dataset) and a concordance table. The latter, which enables the program to identify double entries, has to be provided if (and only if) some individuals appear both in the two datasets.

Warning : merging two datasets implies an automatic renumbering of individuals : individuals of the second corpus who have no doubles in the first corpus obtain a new Id number by adding the number of the last individual of the first corpus to their old numberRenumbering should remain a transitory exception while establishing a definite dataset. As a rule, individuals should have one unique identity number and belong to one unique corpus.


Update a Dataset
Genealogical corpuses can be updated and new supplementary information added to them. To update a corpus and add data from another dataset, Puck provides a specific command : File > Update. For safety, Puck will generate a new dataset in order to prevent the original dataset to be erased by mistake. The new dataset will then  be stored in a new file, in the same format as the original one. A corpus update requires a file which fulfills the same format requirements as the files used to load a corpus.

Note : if you use a file in text format containing only supplementary information on individuals’ properties (so that the first block is empty), make sure that the file begins with two headlines (and not just one). The first headline (which may consist in a single letter) marks the presence of the first block, the second one indicates the switch to the second block. Otherwise Puck will read your supplementary information as basic genealogical information, and the update will fail. These problems do not happen when you use files in .tip format.

You have two choices: File > Update overwriting and File > Update appending.
In the first case, data are simply appended without overwriting existing data (in this case, certain data may not be added, for instance a father that does not correspond to the actual father). In the second case, data are used to overwrite existing data by new ones (in this case, an individual which appears in the update file as having no father will lose his father in the corpus).


***Save and Export Datasets
When executing the command File > Save (Ctrl+s) PUCK overwrites the recent changes on the original file. In order to secure this operation, a dialog window automatically opens asking to confirm the operation.
By the commands File > Save as and File > Save a Copy, it is possible to:

NOTE : on the current version of PUCK, the drop-down list of extensions does not work to actually change the file format. In order to do so, you must find the format in the "Files of type" list and then type the extension in the "File Name" field.


***GAP Export BAR
File > Export BAR


***Export to Pajek
The command File > Export to Pajek produces a file which can be opened with Pajek. This can be useful if you want the current kinship network to be drawn in a graph. When executing the command, the Export to Pajek Input window automatically opens. There you find the Graph Type frame, which contains a check-box list showing three possibilities (click on the file type to view its Glossary definition):

***The Partitions Label frame allows defining several properties (i.e., gender, birth place, patri-clan...) as partitions, that can be read and represented by Pajek.
Once those parameters set, you can then choose the destination file and create it by clicking on the Export button.


***GAP Import Selz and DAT
File > Import Selz
File > Import DAT


Close and Quit
To exit from PUCK there are two possibilities : the command File > Close (Ctrl+W) refers to the current dataset ; the command File > Quit refers both to the current dataset and the program. In both cases, Puck will automatically detect and notify unsaved changes on the current file.







Manage and Edit Data
Once the dataset is created, you can then begin entering new data by creating individuals, kinship relations, families, additional data (place of birth, occupation, religion, date of birth, etc.). In order to do so, you can use the following commands from the Edit Menu, the correspondent keyboard shortcuts, or the Main Window Bottom Toolbar (see here) :

  • Edit > Add individual
Ctrl + I
  • Edit > Add Origin family
Ctrl + U
  • Edit > Add partner
Ctrl + P
  • Edit > Add child
Ctrl + K
  • Edit > Add family
Ctrl + Maj + U
  • Edit > Find
Ctrl + F


NoteThe command Add Origin family create a family where Ego appears as a children. The command Add family creates a simple union tie, whose individuals must be defined.


***GAP Add Relation Model


The command Edit > Preferences allows choosing in which language Puck will run. The available languages are : English, French, German, Italian and Spanish.

In the Preferences dialog window, the Input settings frame allows defining how PUCK has to treat, by default, several special features. This can be useful, in particular, in order to prevent data input mistakes. There are three possibilities :






The Report menu contains several commands that can help organizing the dataset records, searching for potential errors and producing attribute statistics.


The sub-menu Reports > List (...) allows listing all the corpus individuals by choosing the most pertinent ordering criterion. After giving the chosen command, Puck put in order all the dataset individuals and produces an exportable report. You can then save the results in a .txt or .xls formats file, by clicking on the "Save" button (bottom right-hand corner of the results window).


***PROB Homonyms
The command Report > Homonyms allows detecting and list individuals who carry the same name, or a part of it (e.g., the first name). A dialog window opens when executing the command, asking to specify :

E.g., the individuals who share their first name can be found by setting Name parts on "1" ; if you are looking for individuals whose name is shared by more than five persons, set the Minimal number of names to "5".


Controls (Submenu)

By the submenu Report > Controls, PUCK allows finding quickly Special Features (possible errors) that could be contained in the dataset (including input derived ones). The commands appearing in the submenu allow choosing the most appropriate errors and report it. The following list resumes the types of errors that PUCK recognises :

The command Reports > Controls > Special Features produces a full report of all these possible errors. Some them (such as persons lacking name or gender, or marriages between same-sex spouses or between parents and children) may actually be correct and wanted (depending from the fields and the sources), but they often are due to simple mistakes introduced during the data input. Puck indicates them in order to facilitate the researcher to check the dataset, but never automatically “corrects” possible mistakes.
When executing the command Reports > Controls > Special Features, a dialog window automatically opens. There, it is possible to define which kind of potential errors you want Puck to check for.
Otherwise, it is possible to run a step-by-step check-up, by selecting a single special feature in the submenu.

Note : even if they are true representations of a real kinship network, some of these irregularities may hinder certain functions of Puck from working correctly, which should lead to a reconsideration of analytical methods. Some errors can even cause PUCK crashes (for instance, cyclic descent cases cause infinite loops) ; some others will lead to erroneous results (for instance, the presence of male mothers or female fathers causes calculation errors in the matrimonial census).


Attribute Statistics
The command Reports > Attribute Statistics allows obtaining basic statistics concerning the distribution of attributes. By default, these are classed as Not-set, Set blank, Filled and Set. In the Report Window, PUCK counts all the CorpusIndividuals and Families attributes, and sorts them by label. The results are exportable in .txt or .xls formats by clicking on the "Save" button placed in the bottom right-hand corner of the window.






The Transform menu features a number of commands allowing several systematic changes on the current dataset (duplication, anonymization, reduction, extraction, expansion, shrinking...). Some of these transformations concern the individuals names, their attributes, as well as the relations existing between them ; others can target the dataset as a whole or just some partitions of it.


The commandTransform > Duplicate creates an exact "live" copy of the original dataset. This can be useful if you want to test some transforming operations on a dataset, without affecting the original file with unwanted changes. Note that the duplicate wich PUCK thus produces is not automatically saved into a file.


The Anonymization commands are used for hiding individuals names. This can be useful, for example, if you work on a recent population and whish to publish some analytical results without revealing the individuals identity.
The following commands enable to choose the most appropriate form of anonimization :


Number Names
The command Transform > Number names adds the identity number of each individual to its original name, between parentheses (e.g. “Pierre Dupont (5)”).

Note : Numbered names are convenient if the corpus is exported in .paj format (Pajek files require renumbering of individuals in order to assure continuous vertex numbers. Numbered names thus serve to keep the original numbers). If a Pajek file with numbered names is imported to PUCK, numbers between parentheses are automatically re-converted into identity numbers.


Transform Attributes
The following commands allow to operate systematic changes on attributes. It can be useful to use them, as it avoids to operate such changes one by one through the entire dataset :

When executing each one of these commands, a dialog window automatically opens asking to specify which attribute has to be changed, and how. Thus, each command produces a specific dialog window, but some recurrences can be isolated (we will leave the rest of it implicit, as these functions are sufficiently intuitive). The Target field indicates the type of attribute concerned (i.e., All, Individual, Family...). The Label field indicates the "name" of the attribute concerned (i.e., BIRTH_DATE...). The Value field indicates the actual content of the attribute (i.e., "1955" for a birth date).


Redefining Relations
Transform > Redefining Relation


***Marry Coparents
The command Transform > Marry Coparents associates to each fertile couple a matrimonial link. This can be useful, for instance, in order to make those unions visible in a matrimonial census. The command is effective on the entire dataset without taking into account partitioning and it doesn't change the family numbering.


***Re-number Ids
The Transform > Re-number Ids sub-menu enables to change the whole dataset individuals Id numbering. The new numbering will start from 0 and will cover all individuals without gaps.

If you have a pre-existent corpus where the Id number is defined as an attribute, you can use the commands Transform > Renumber Ids from ID attr. and  Transform > Renumber Ids from REFN attr. in order to make Puck recognize it as the actual individuals Id.


Editable families
Transform > Editable families


Life events
The command Transform > Add life events processes biographic events (births, marriages, migrations...) as relation models rather than as attributes.


Enlarge from Attributes
Transform > Enlarge from attributes


Reduce (Submenu)

The sub-menu Transform > Reduce allows removing specific segment types from a kinship network. The reduction operations precisely concern segments  that can be considered structurally irrelevant (unmarried people, structural children, etc.). Thus, these operations are meant to "clean" the corpus before proceeding to an analysis of its structure. This can be useful when preparing, for instance, a matrimonial circuit census, e.g. in order to refine an analysis of the datasets gender bias. The following list of commands gives the detail of each possible reduction :


Extract (Submenu)

The sub-menu Transform > Extract enables to create a new dataset by selecting a specific sub-corpus of the original one. The new dataset will be thus composed only by the vertices of the selected sub-corpus. By the following commands, you can choose to extract different types of sub-corpuses  :

Note : Some of the  commands in the list above presuppose a basic knowledge of the partitioning process. To read more about partitioning, click here or use the "Functionalities" menu (click on the voice : "Partitions Bar").


Expand Current Segment (Submenu)

The sub-menu Transform > Expand current segment (...) allows creating a new dataset composed both of the selected partition members and of individuals somehow connected to them. This can be useful, for instance, when you want to operate a circuit census on a given partition of the dataset, without losing data about the ties that exist between its members (which could involve non-members of the partition).
Thus, the submenu allows expanding a partition to its connected non-members and, in addition, to operate a selection between them, based on the type of ties existing between the segment members and the "to be included" non-members. Such a selection can be operated by the following commands, which indicate different classes of connected individuals :



The Shrink function allows regrouping the dataset individuals following a given criterion ; it also allows generating and analyzing the network of links existing between such groups. The results can be exported in .paj and .dat formats. Such networks can be thus represented as directed graphs, where both nodes and arcs have values. The nodes values will then quantify the partition size (number of individuals), the arcs values will quantify their weight (number of ties).

The Transform > Shrink > Alliance Network command produces a directed graph where nodes represent groups of individuals sharing a given endogenous/exogenous property and arcs represent the number of links between such groups. For instance, it can be used in order to analyze the matrimonial alliance network between different patri-lignages, or to study the transmission of professions through filiation.
In Puck, when executing the command, a dialog window automatically opens asking to set some criteria.
The Label field, allows defining which endogenous/exogenous property will actually regroup the dataset individuals.
The Alliance Type field allows defining as "alliance" relations three different types of ties : wife-husband, sister-brother and parent-child. Choosing one of these will produce, respectively, a matrimonial exchange network, a network of siblingship or a network of filiation ties.
The Weighted Arcs check-box allows choosing whether or not the arcs weight will appear in the results.
Finally, three fields allow to filter the resulting network depending on the Minimal number of : links (node degree), alliances per node (node strength), and alliances per link (link weight).

The results can be viewed (and managed) both as an autonomous Alliance Network Window (on the dialog window, click on the Launch button) and as a statistic report (on the dialog window, click on the Statistics button). For a description of the Alliance Network Window, see here.
The statistic report window is composed of six tabs :


The command Transform > Shrink > Flow Network allows producing, analyze and manage flow networks. Here, nodes represent segments that regroup the dataset individuals who share one (of two) given endogenous/exogenous properties. Concurrently, the network weighted arcs connect the segments that contain, each one, the same individual ; their weight correspond then to the number of individuals who share the two given properties, and they point from the first cluster to the other.
The command can be useful, for instance, for studying migration flows (from the birth place to the death place of the dataset individuals).
When executing the command, a dialog window automatically opens.
Here, the Source Label field allows defining the first property used for regrouping (i.e., BIRT_PLACE), and the Target Label field allows defining the second one (i.e., DEAT_PLACE).
***The Minimal number of links field allows excluding from the results network all the source nodes whose size doesn't reach a given number of individuals.

Unlike for alliance networks, the results are shown only as statistics. The Report Window is made up of five tabs:


***GAP Simulation Tools
The command Transform > Reshuffling allows producing the network that results by randomizing the corpus marriages (and keeping the rest of it as it is). This simulation technique can be useful in order to understand to what extent specific matrimonial configurations depend from demographic and/or data collection biases.

When executing the command, a dialog window automatically opens, asking to specify :

The command Transform > Virtual Network allows simulating the biases introduced with data collection. It can be useful in order to know how the network morphology would change, if all informants came, for instance, from a small set of families.
When executing the command, a dialog window automatically opens, asking to specify :

The command Transform > Virtual Fieldwork Variations allows [...]






In addition to entering data and navigating through the corpus, Puck allows not only to explore the kinship environment of individuals, but also to run structural socio-centered analysis. The Analysis menu contains several tools whose functions concern such kind of analysis.


Pedigree and Progeniture
The commands Analysis > Pedigree and Analysis > Progeniture produce a complete list of Ego’s ascendants or descendants, up to a given degree. After executing each one of these commands, a dialog window opens asking to specify the maximal generational depth of the ascent/descent ties you're looking for. This will be done by entering a single number that indicates the generational limit of your search. For instance, entering “3” produces a tree structured report of Ego's known ascendants/descendants up to great-grand-parents/children.


The command Analysis > Relatives enables to obtain a complete list of Ego’s relatives of a given type. This is done by entering in the dialog window a structure formula in positional notation, just as in the case of a matrimonial or relational census (see infra)Note, however, that the present function is ego-centered : the first individual in the formula is the currently selected individual.
For instance, entering “XX(X)XX” will produce the list of all Ego's cousins (with their names, identity numbers, and exact kinship relation types).


The command Analysis > Kinship Chains enables to obtain an exhaustive list of the kinship chains connecting Ego to another individual. This is done by entering two numbers, where the first one is alter’s identity number, and the second the canonical degree (maximal genealogical depth). A third number can be entered which specifies the maximal order of the chain, that is the maximal number of marriages it may contain. Puck lists all tracks between ego and alter within specified bounds in the classification of your choice.


The command Analysis > Distances allows classifying ego's relatives depending on the genealogical distance existing between them. When executing the command, a dialog window opens asking to specify which kind of ego's relatives are to be taken into account. You can do so by selecting the wanted Filiation Type in the check-box list ; and than specify the the upper limit of your search into the Max Distance field.
When launching the count, PUCK automatically introduces a new attribute to all individuals. The attribute Label will be, i.e., "DIST 1" if ego Id number is "1", and its value will correspond to the genealogical distance between ego to alter (which is the minimal number of arcs connecting them).


Basic Informations
The command Analysis > Basic information (CTRL+B) gives access to the basic information of a dataset, which is the starting point for the analysis of its structure.
 produces a report that contains many basic information such as :


After identifying the errors affecting the dataset, the researcher should take into account its limits and biases. This can be done by exploring the network morphology and it should be seen as a precondition for any analysis or matrimonial census. In order to do so, Puck offers a wide range of tools, accessible from the command : Analysis > Statistics (CTRL + G). When executing the command, the Statistics Input Window automatically opens. This is a fundamental tool for the dataset diagnostics, which constitute one of PUCK main functions. A specific section of this guide is thus dedicated to it. To move there, you can click here or use the "Functionalities" menu.


Partition Statistics
Note : the use of this command presume a basic knowledge of the partitioning process. To read more about partitioning, see here
The command Analysis > Partition Statistics allows producing statistics concerning the distribution of given partitions on the dataset. When executing the command, a dialog window opens asking to set the Partitions Statistics Input criteria. This can be done, firstly, in the Partition Diagrams Criteria frame. Here you can set more than one partition criterion at the time. ***GAP Secondly, the Split Partition Criteria frame allows  [...].
After launching the count, PUCK shows the results in a new tab, both as diagrams and as tables. In the diagrams, the abscissa indicates the size (number of members) of each resulting partition ; the ordinate indicates the number of existing partitions of each size.


Circuit Census
One of the most important PUCK functions consists in running a circuit census of your kinship network. This can be done by executing the command Analysis > Circuit Census... (Ctrl+H), which automatically opens the dialog window called Census Reporter Inputs. A number of settings can be chosen from it, following your analysis needs.

A specific section of this guide is dedicated to the use of the Census Reporter Inputs. To move there, you can click here or use the "Functionalities" menu of this guide.


***Differential Census
The command Analysis > Differential census allows conducting a segment-based census and provides several comparative means, which especially concern the relations between members of identical segments. The significant advantage over a global census is the possibility to consider several segments separately. By applying a differential census to all the dataset’s clusters configured by a certain segmentation, statistic results can be achieved concerning for instance uterine-agnatic relations within a household or kinship relations within a profession. The results of a Differential Census appear both as diagrams and as tables. A Differential census produces : relational statistics for each cluster ; global and mean percentages of relations ; distribution of relation percentages by cluster size.
In the diagrams, the abscissa orders the selected partitioning criterion (i.e., occupation) and the ordinate [...]


The command Analysis > Synopsis allows







Kinship Calculator
The Kinship calculator allows converting, transforming and analyzing kinship relations.
You can access to it by the command Tools > Calculator.
Kinship relations can be entered in any notation. The calculator contains three lines in order to allow unary and binary operations. These operations can act on fully specified relations or on a relational schema (without specification of gender).

The Standard button allows bringing the entered formula to its standard form. Then it will begin with the longest ascending and most "agnatic" chain (a chain is the more agnatic the more male members it contains and, in case of equality, the higher the position of these members). 

You can change the ego/alter point of view by clicking on :

You can perform some binary operations for composing and combine kinship relations :





The Main Window provides both the navigation and the data management functions. From the Main Window it is possible to add, modify and delate individuals, families, additional data and relations. It can be used for data input, even for corpuses of large dimensions.


Navigation Tabs
On the upper left side, there are the Navigation Tabs : Corpus, Individuals and Family. The Corpus tab contains general information on the dataset. The Individuals tab contains the list of all individuals and the general information related to them. The Family tab contains the list of all the families of the dataset.


Ego's Identity Frame
The Identity frame (placed in the top center of the Main Window) contains :


Ego's First Degree Relatives Frame
On the right side of the Identity Frame, a specific section is shows Ego's parents, who are designated by their gender, names and Id Numbers. Next to it, the yellow circles indicate their Union Status.
If Ego doesn't have a parent and you want to add one, click on the name field and either choose an existing individual or create a new one by typing a non-assigned number.
Under Ego's Identity frame, the first one is the Partners frame, which contains information about Ego's spouses ; the second one is the Children frame, which contains information about Ego's first degree descendants.


Additional Data Frame
The Additional data frame contains the individuals/family attributes (such as, i.e., events dates and places). All these attributes are exogenous properties (date and place of birth/marriage/death, occupation, etc.) and can be used to partition the corpus (see here).

Puck distinguishes three different categories of attributes and regroups them in separate sections. All attributes are characterized by a label (for which standard individual property codes should be used) and a value. For instance, a property with the label “OCCU” and the value “merchant” means that the individual’s occupation is that of a merchant. When importing gedcom files, relational properties are automatically transformed into properties of the concerned individuals with reciprocal alter specification. For a list of standard property codes and guidelines for personalized property codes click here.
In order to add an individual/family attribute : on the Additional Data frame headline, click on the "+" button and a line will then appear inside the frame. Click on the first cell from left and type the right property code (i.e., "BIRT_PLACE") ; then, in the second cell from the left, type the corresponding value (i.e., "New York") and press enter
In order to add an existing individual/family attribute, in Ego's Additional Data frame headline, click on the "++" button. This will make all the existing properties appear, so that you won't have to type the property code again!
If you want to clear Ego's Additional Data frame, on the headline, click on the "c" button. This will erase all empty attributes.
In order to remove an an individual/family attribute : on the Additional Data frame, select the attribute to-be-removed, right-click and click on "delete".
In order to remove (or to make changes on) all attributes, see here.

Notes :
Even an ego’s property with specification of alter and automatic attachment of a reciprocal property to alter with specification of ego still remains a combination of individual properties and is not a relation property. This is important when these properties are used to partition the corpus or to restrict a relational or matrimonial census to a subcorpus.
For instance, search results for matrimonial rings among individuals whose marriages lie within a certain period may well contain marriages outside that period, if both partners have been married before or after.

The last number of a date is automatically interpreted as year (important for partitioning). This must be taken into account when the specifying events occurred before, after, or around a certain year.
One and the same label cannot be used at the same time for a simple property and for an event property. For example, the code MARR cannot be used at the same time to indicate if a person is married (simple property) and when, where and whom he or she is married to (event property). “Notes” are simple properties with the only difference that they allow entering long texts and line breaks. The label of notes (“NOTE”) is not displayed and cannot be chosen or changed.
All attribute fields (with the exception of notes) contain drop-down menus which allow choosing among existing label, value, place, and date data and existing individuals (for alter). The drop-down menu for alter contains identity numbers and names of all individuals in the corpus, just as for kinship relation entries.


Relation Frame
The Relation frame contains the list of Ego's alters of a specific relation (for its use, see the relation model paragraph). On the headline of each frame the number of the respective relatives (number of spouses or children) is indicated. By double-clicking on the name of a related individual in each frame, you can jump to its individual page. Jumping from one relative to another is a way to navigate through the corpus along kinship paths.


Family Tab
The Family tab looks just as the Individuals one, apart from the fact that records are families and not individuals. Families have Id numbers, they are listed in the left side box ; they have an Identity frame, as well as a Children and an Additional Data frames.

If you wish to change the Union Status of a single union (i.e., from "married" to "divorced") you can simply click on the Union Status symbol until reaching the right setting.


Bottom Toolbar
The Bottom Toolbar is placed on the bottom of the Main Window and it allows :


Remove a Kinship Relation
In order to remove a descent tie : move to the Family navigation tab, select the family where appear the tie-to-be-removed, in the Children frame select the right child/children, in the Bottom Toolbar click on "-".

In order to remove a union : on the Family navigation tab select the family to-be-removed, on the Bottom Toolbar click on "-". Then, move to the Individual navigation tab, select one individual from the couple to-be-removed and, in the Partner frame right-click on the partner and click on "Delete".


Search Dialog Box
A Search Dialog Box is located on the right-side of the Bottom Toolbar (bottom right-hand corner of the main window). It allows searching for individuals or families through the dataset. This can be done either by entering the name, a name part or the Id number of the searched individual(s). If several individuals fit the search criteria, successive “enter” clicks permit to pass from one selected individual to another, and thus to navigate through the corpus. This can be useful, for instance, when a family name has been entered, when the same individual appears in more than one family, or in cases of homonymy.





Statistics Input Window

NoteFor a brief introduction to the Statistics function, see here.


General Frame
The Statistics Inputs window (Analysis > Statistics... Ctrl+G ) contains, first of all, the General  frame. It allows obtaining information and diagrams about the current dataset. By selecting the query criteria from the checkbox list contained in the frame, you will obtain information about some dataset structural properties, such as :

Partition Diagrams Criteria
The Partition Diagrams Criteria frame allows obtaining statistics and diagrams about partitions of the dataset. More than one partition can be analyz
ed at the time. The resulting diagrams will show, on the abscissa, the partitioning criterion and, on the ordinate, the clusters size.

***GAP The Split Partition Criteria frame allows [...]
***GAP The Mean Cluster Values checkbox allows [...]


Results and Diagrams

After launching a query from the Statistics Inputs window, the results are displayed in a report window, both as graphs and tables. Graphs can be viewed individually (by clicking on them). Results can be saved in .txt or .xls formats (by clicking on the “Save” button and choosing the destination folder). The report window also provides information on the distribution of properties.


Gender Bias
There are two types of analysis for gender bias (Barry & Gasperoni, 2008 ; Hamberger & Daillant, 2008, p. 45).

The first measure of the corpus gender bias is the Agnatic (Uterine) Weight. The following snapshot shows an example of Gender Bias (weight) report diagram, taken from M. Gasperoni's "Ebrei" corpus.

The other Gender Bias measure is the Agnatic (Uterine) Net Weight. The following snapshot shows an example of Gender Bias (net weight) report diagram, taken from M. Gasperoni's "Ebrei" corpus.

Both Gender Bias measures are useful indicators of the interdependence and interconnection of the genealogical knowledge : the more curves (uterine and agnatic) are close to one another, the higher is their interdependence ; the more they are apart, the more they become autonomous, that is to say that we know the agnatic or uterine unisexual lines. If curves are low, it means that there is interconnection.

Note : it is important to analyze the gender bias on partitions (e.g., depending on the generation or the age of birth of individuals). Partitioning is particularly useful for focusing on a part of networks.


Distribution of Components
The Components diagram shows the distribution of agnatic/uterine components (connected subnetworks made up entirely by paternal/maternal ties) according to their size : the abscissa of the diagram indicates the relative size of components (as a percentage of total network size, where size = number of individuals), the ordinate indicates the relative frequency of components of given size (as a percentage of the total number of components). The following snapshot shows an example of Components report diagram, taken from M. Gasperoni's "Ebrei" corpus.


Genealogical Completeness
The Genealogical Completeness of a kinship network corresponds to the percentage of known ascendants (agnatic, uterine and overall) by generation. The following snapshot shows an example of Genealogical Completeness report diagram, taken from M. Gasperoni's "Ebrei" corpus.


Fratry Distribution
The Fratry Distribution is the distribution of agnatic and uterine fratries (sibling groups) according to their size. The following snapshot shows an example of Fratry Distribution report diagram, taken from M. Gasperoni's "Ebrei" corpus.


***First Cousin Marriage
The First Cousin Marriages diagram shows the occurrences of the four first cousins marriages: between cross/parallel patri-/matri-lateral cousins. The four cousins types are distributed on the abscissa axis and their respective number of occurrences is detailed on the ordinate. The following snapshot shows the First Cousin Marriages report diagram of M. Gasperoni's "Ebrei" corpus.

Ancestor Chains
The Ancestor chains diagram shows the composition of ancestor chains, expressed in positional notation, depending on a given degree (your choice) and gender. It is very important to know the distribution of consanguine chains and this is an additional measure of bias (Barry & Gasperoni, 2008, p. 71‑77). The following snapshot shows an Ancestor Chains report diagram, taken from M. Gasperoni's "Ebrei" corpus.



***GAP Consanguine Chains
The Consanguine Chains diagram shows [...]


***Distribution of properties
Using the Statistics Window, it is also possible to analyze the distribution of endogenous and exogenous properties, combining queries and property codes and exporting the results as partitions (to represent with other software like, for instance, Pajek). This allows knowing precisely the profile and composition of the dataset, not only for analyzing it, but also to improve and complete it thereafter. Puck generates information and statistics on all genealogical (number and distribution of known ascendants/descendants etc.) or exogenous data (occupation, place and date of birth, etc.). The results appear in the form of tables, diagrams or partitions.




 Census Reporter Inputs Window

The Census Reporter Inputs window (Analysis > Circuit Census (CTRL+H) ) enables to set and operate a circuit census on your dataset. It presents a number of parameters, which can be used depending on the analysis needs.


Pattern Field
The Pattern field is a fundamental tool, which enables you to define the type of circuits that you wish to count. It allows you to define the type of census desired : consanguine marriages, two-groups and three-groups relinking. It can be used, for circuits counting, by resorting to two input methods.


After setting the Pattern field, a matrimonial census can then be refined according to specific criteria, i.e. : Filiation, Symmetry, Sibling, Circuit and Restriction types.

Filiation Type
The Filiation Type checkbox enables to choose the type of permitted consanguinity relations to be included in the query.
It can be set in four possible ways :


Symmetry Type
The Symmetry Type checkbox enables to decide on the relations permutability between ego and alter. For example, if kinship chains between co-residents are searched, the option “symmetry” has to be activated, for co-residence being a symmetric relation. Accordingly, the chains “father-son” and “son-father” will be counted as one single category. By contrast, if kinship chains between persons and their heirs are searched, the option “symmetry” has to be deactivated, for inheritance being
 an asymmetric relation. Accordingly, the chains “father-son” and “son-father” will be counted as different categories.

Note : the symmetry type choice is only relevant for a non-matrimonial circuit census. If matrimonial circuits or open kinship chains are searched, ego and alter are always considered as permutable (in the first case, male or female ego will be chosen according to the chosen option, in the second case, there is no criterion for the selection of ego or alter).


Sibling Type
The Sibling Type checkbox enables to choose the type of sibling differentiation. This can be set in three possible ways :


Circuit Type
Circuit Types frame includes the following options :


Restriction Type
The Restriction Types frame options are :


***GAP Other Settings


The Filter field allows excluding from a circuit census a relation type. You can define the relation to be filtered by typing it in positional notation.


***Open Chains Frequencies and Closure Rate
A Relational Census can be used both in order to count non-matrimonial relations and, which is more important for a kinship network structural analysis, to evaluate some of the dataset biases. For example, if in a kinship network the number of cross patrilateral cousins is much greater than the number of cross matrilateral ones, marriages between the former will automatically result more frequent. Thus, the prominence of a given marriage type does not necessarily indicate a social preference for that type of marriage. It can merely result from the higher frequency of that specific relation (not "closed" by a marriage tie) compared to others. Thus, to understand high frequencies of given matrimonial circuits as a direct sign of a social preference can reveal itself misleading. 
The closure rate (Hamberger & Daillant, 2008, p. 27-28) is an indicator that has been conceived to prevent such mistakes. As it appears in the snapshot showed below, a calculation of the Closure Rate can be obtained by selecting, in the PUCK Census Reporter Inputs window, the Open Chains Frequencies check-box. Then, on the Results table, for each type of matrimonial circuit will both appear : the total Open Chains number and its Closure Rate.


Matrimonial networks for Pajek
The frame Circuit to include in Pajek format allows generating matrimonial networks to be analyzed in Pajek.

It has to be set before launching a census ad it includes several possibilities :


***Relational to Complex Matrimonial Census
If the matrimonial circuit census counts the matrimonial circuits in a kinship network, a non-matrimonial circuit census counts relational circuits, which are kinship chains "closed" by a previously defined relation (for instance, co-residence, friendship, etc.). The Closing relation frame enables to run such a census, by selecting the wanted relation.

As shown in the example above, setting the Closing Relation to "Open" and selecting the Couples only checkbox leads to a census of open chains concerning married people.

A more complex relational or matrimonial census can be effectuated by combining two censuses, using the results of the first (stored as relational properties by the Mark Individuals function) in order to redefine spouses, and running the second census on the thus transformed corpus.
In this manner, one can search for MBD marriages that are at the same time ZD marriages, bilateral cross cousins, and so on.
Such a complex census is a useful analytical complement to the inspection of the circuit intersection network.
***CORR? Instead of generating relational data from a preliminary relational or matrimonial census, they can also be directly read from a file, for instance a list of ego-alter-pairs (in the form of a two-column text file). For the precise method see the entry Relational properties from text files.


Mixed Matrimonial and Connubial Circuits
Puck allows regrouping individuals according to a certain property (chosen from a drop-down menu by double clicking on the checkbox label) and effectuate a census of :


***GAP Reshuffling
The Launch with Reshuffling button allows [...]


Circuit Census : Results and Tables

After launching a circuit census, PUCK produces a report in which are indicated : the precise number and type of the searched circuits, as well as their classification (as individuals and couples). Each report can be saved in .txt or .xls formats, by clicking on the "Save" button placed in the bottom right-hand corner.


Report Tabs
Each report is subdivided in five tabs :





Any individual/family property (for details on property codes see here) can be used to split he corpus into subcorpuses. A subcorpus (whose title indicates the parent corpus as well as the property label and value) has the appearance of an autonomous corpus (with its own corpus window and all dependant windows), and every operation on a corpus can also be effectuated on a subcorpus. The important difference is that a subcorpus remains linked to the parent corpus, and all relation and circuit search processes, while limiting results to individuals in the subcorpus, always run through the total corpus.
The partitioning commands are located on a specific bar, placed on the top of the PUCK Main Window.

Warning : a subcorpus that is saved and re-imported as a normal corpus loses this important subcorpus property. All links to individuals outside the subcorpus are cut, and external individuals can no longer act as intermediaries for chains between members of the subcorpus.


Add Partitions
To create a partition, first click on the Add Segment button (symbol "+") on the Partitions Bar, so that the Partition Criteria Input window will open (see snapshot below).

Here, the Model drop-down menu enables to choose between Individual or Family, which are the two models of partition criteria. The Label  drop-down menu contains a list of endogenous and exogenous properties, that can be set as partitioning criteria. Note that PUCK automatically integrates into the list the attributes/additional data that you might have defined during the encoding phase.
For an explanatory list of the properties codes, see here.


The Parameter field allows using as partitioning criterion some properties, such as "PEDG" or "PROG", that require a specification to operate.
For example, to segment the dataset on the basis of the number of known ascendants of a given degree, the Model field must be set to "INDIVUDUAL" and the Label field to "PEDG". In the Parameter field, you will then define the maximal generational depth to which calculate the individuals pedigree. If you set the Parameter at "2" and the Type at "Raw", PUCK will create five clusters :


The checkbox list called Type allows choosing, between several possibilities, the most pertinent way to regroup the clusters of a given partition. This choice depends on the partitioning criterion. Here is a brief description of how these operators work :

Note : The dataset can be partitioned more than once, so you can superimpose different partitioning criteria. This can be done by running once again the Add Segment button (symbol "+"). So, the successive application of different properties as partition criteria permits to refine partitioning which can be necessary for your analysis process.


***GAP Family Scope
The Family Scope checkbox list allows [...]


Navigate through partitions and clusters
After partitioning the dataset, you can navigate through the different partitions and clusters, by using the Partition / Cluster drop-down menus, or by clicking on the Up / Down one segment buttons, placed on the right side of the instruments bar ("Δ"/"∇" symbols on the bar). All the individuals and families appearing in the Individuals and Families navigation tabs, belong then to the selected cluster. However, Ego's relatives don't necessarily find themselves in his same cluster ; and the selected cluster changes if you double-click on an individual who doesn't belong to the previous cluster. So be careful : if you navigate through the corpus by clicking on individuals, you could jump out of the starting cluster without knowing it!


Erase partitions
When necessary, you can manage partitions by selecting one of them and giving the following commands :

Warning : partitions are hierarchically organized. If you erase the first partition (see the Partition drop-down menu) by using the command "-", the action will be effective on all other partitions too.


Partitioning Examples





Note : for a very brief introduction to kinship simulation techniques, click here.

When opening the submenu File > New > Random network, you find two possible types of random networks : Classic and Birth-Centered. In each one of these cases, after executing the command, a dialog window opens asking to input some statistic criteria. These will determinate the network dimensions and form.


Classic Random Corpus



Birth Centered Random Corpus