A genealogical corpus is a set of individuals linked by relations of kinship and marriage with basic and supplementary information for each individual that has been coded :

 Basic Information :

  • A unique identity number (ID)
  • Name(s)
  • Gender: H (man), F (woman), X (gender unknown)
  • Father’s ID number
  • Mother’s ID number
  • Spouse(s) ID number

 Supplementary Information:

  • Biographical informations (birth, marriage, death dates and places, other properties)
  • Notes


Tips for Collecting Kinship Data 
Data are not only a result but also a means of data collection. They should be easily accessible in order to guide your research and to cross-check your informant’s answers. When dealing with archives, this is often fairly simple: you can take a computer with you. But in many fieldwork situations this is not possible. However, noting kinship "by hand" can be extremely fast and efficient, if some basic principles are observed :

  • Always use a compact medium, such as a notebook. Do not use filesheets or loose papers. You cannot use them during interviews, and there is a high risk of loosing some of them.

  • Separate graphics and text. A good method is to use a notebook with the left page for drawing genealogies, the right page for listing the individuals and their properties, and numbers for identifying these individuals (if numbers get large, it is recommended to use, in addition, initial letters to prevent identification problems in case of numbering errors) — Attribute an identity number to each individual and never attribute that number to another individual. If you have "doubles", make a link to the original number but do not re-assign it. Holes in the series of numbers do not cause any damage, but ambiguities in identity numbers cause much damage, and are extremely difficult to detect.

  • Do not use identity numbers as codes. Identity numbers serve to identify individuals - and nothing else (except, perhaps, to recall the order in which you have entered them and to document the history of your corpus). If you want to convey information on individuals gender, clan affiliation, residence, etc., do not use identity numbers for that.

  • Never forget to make regularly copies and store them on different places. This holds for all data, but especially for kinship data, due to the network properties of kinship: one lost notebook may render twenty others useless.

 Frequently Asked Questions :

  • Do I have to number individuals continuously ?
    No. Discontinuous numbering is no problem for Puck nor for most other genealogical programs. Pajek requires continuous numbering, but Puck can convert datasets into pajek file format including renumbering without loss of information on original numbers (by using the option "numbered" for exportation). However, you should avoid too large empty spaces between identity numbers, because some search methods may get more time intensive.

  • Some individuals in my dataset are doubles, do not exist, or have become obsolete. Can I delete them ?
    Yes, but do not reassign their identity numbers to other individuals! Just leave their positions empty. In the case of doubles, it can be useful to keep them in your dataset, so that you can easily find informations on the individuals in the different places in your notebooks. You can mark them as doubles by assigning them as a name the identity number of the original. If needed, you can always eliminate them by the eliminate doubles option.

  • How do I code kinship relations between individuals when I ignore the exact genealogical chain ?
    If you know the exact genealogical relation, you may introduce into your dataset virtual
    individuals - having « # » as a name - as intermediary links (for instance, if you know that A is B’s paternal brother, you may introduce a virtual common father). Make sure, however, that the kinship term people give you really corresponds to the supposed genalogical relation (in many societies, kinship terms may designate large classes of relations, some of them may be without any genealogical foundation whatsoever!) If you are not 100% sure that your « brother » really is a brother in a genalogical sense, you should rather store the information in a note or as relational property of the concerned individuals.

  • How do I code divorced spouses ?
    Like all other spouses, living or dead, married or divorced. You can store the information on divorce among the individuals properties (see also File formats for kinship data).





This page contains some references to the Kinsources project website. To know more about Kinsources, click here.


Kinship data can be stored in files of different formats :





A kinship relation can be represented in several different notations. Puck basically uses two of them : the standard and the positional notations.

Standard Notation

The conventional notation of kinship relations uses capital letters for indicating the type of 8 basic kinship relations. These letters are mostly abbreviations of the corresponding English kinship term. They contain information on the gender of Alter and of the direction of the basic kinship relation (ascendance, descent, marriage, as well as siblingship). The following table shows its logic :

These basic kinship relations are composed into more complex ones by the simple juxtaposition of letters according to their position in the kinship chain, starting from ego (as in English, but contrary, for example, to French, where kinship terms have to be composed starting with alter!). The gender of Ego must be indicated by additional signs such as ♂ [male Ego] or ♀ [female Ego] placed before the initial letter. The resulting combination of letters can be read as a direct abbreviation of an English kinship term: MBD (mother’s brother’s daughter, a matrilateral cross-cousin), ZH (sister’s husband, a brother in-law), FWS(father’s wife’s son, a step-brother) are examples of this.
Half-sibling relations are distinguished from full sibling relations by using explicit combination of ascendance and descendance letters instead of sibling letters: for instance, FS (father’s son, paternal half-brother). In addition to genealogical relations, relative age can be indicated by minor letters e (elder) and y (younger) placed before the kinship letter concerned: for instance, FeB (father’s elder brother), MyZ (mother’s younger sister). Standard kinship notation is highly intuitive and easy to read (at least for anglophones). However, it expresses the ethnocentric viewpoint of English kinship terminology and, by using simple abbreviations, tells us little or nothing about the structure of the kinship relation. It is therefore certainly not the best tool for analytical purposes.


Positional Notation

In the positional notation, developed by Laurent Barry (Barry, 2004), a kinship relation is represented by a sequence of letters indicating gender (by abbreviations of the french terms H - homme - for male, and et F - femme - for female) and two diacritical signs :

  • The point or full stop “.” which indicates marriage ;

  • The parentheses () surround an apical position, that is, the position of an individual which is not descendant of any of its neighbors. If both neighbors are spouses, the parentheses may be dropped.

Relations of ascendance and descent are indicated by simple juxtaposition, where direction changes after every pair of parentheses and every marriage dot. By convention, the starting direction is ascendance.
By replacing gender letters with the variable X, more comprehensive classes of kinship relations can be represented in positional notation. For instance, X(H)X denotes paternal half- siblings, XX(X)F direct aunts, X(F)FH uterine nephews.

Note that the translation of kinship relations from standard notation (without using ♀ and ♂ signs for the gender of ego) into positional notation always implies the variable letter X in the first position.
Positional notation can be used not only to represent abstract kinship relations, but also concrete kinship chains. In this case, gender letters are replaced by identity numbers of the individuals in the respective positions.

The major advantages of positional notation are :

  • The clear representation of the kinship relations structural properties, which remain unchanged by symmetry transformations HF( )HF becomes FH( )FH, but MBD becomes FZS ;
  • The integration of the sex of ego and not only of alter ;
  • The applicability not only as a notation but as a classification tool (by use of gender variables) ;
  • The homogeneity of notations of kinship chains (with individual numbers), kinship relations (with gender letters) and kinship relation classes (with gender variables).

The following table shows some examples of kinship relations translation from positional to standard notation :







Endogenous and exogenous properties are designated by standard codes. In addition to the standardized codes listed above, you are free to enter any other property label you want.

Warning : only use single-word codes - Puck does not allow for empty spaces in property codes.

Note : property codes are fixed and language-independent. They do not change by switching from one language to another.


Main Endogenous Properties

“Endogenous” criteria of classification are calculated by Puck from the genealogical data and are derived automatically from the kinship network itself : sibling group size, number of known ascendants, number of spouses, etc. They need not and should not be explicitly specified, and their codes should not be used to enter properties or to load them from a file.

  • ALL - a pseudo-property that serves to remove a partition and to restore the unity of the underlying corpus

  • ***BIRTH_ORDER - birth order

  • ***GENDER - gender

  • GEN - generation (see here)

  • FIRSTN - first name

  • LASTN - last name

  • FRATP - father, agnatic fratry

  • FRATM - mother, uterine fratry

  • PATRIC - agnatic apical ancestor, “patrilineage”

  • MATRIC - uterine apical ancestress, “matrilineage”

  • PATRID - distance to the agnatic apical ancestor, “agnatic generation”

  • MATRID - distance to the agnatic apical ancestress, “uterine generation”

  • DEPTH - distance to the most remote ancestor, maximal generational depth

  • MDEPTH - mean distance to ancestors, mean generational depth. The formula have been defined by Cazes (Cazes & Cazes, 1996)

  • PEDG x - number of ascendants (where x is a number specifying generational distance)

  • PROG x - number of descendants (where x is a number specifying generational distance)
    Note : The properties PEDG (pedigree) and PROG (progeny) require specification by a number that indicates generational distance. For instance, PEDG 2 is the number of grandparents, PROG 1 the number of children.

  • SPOU - number of spouses


Main Exogenous Properties

The “Exogenous” classification criteria do not derive from the kinship network itself : dates of birth, death or marriage, profession, residence, religion, etc. Exogenous properties have to be specified explicitly for each individual in the file from which the corpus is loaded or by entering them in the data window. Puck uses the standard gedcom codes for exogenous properties.

  • ***BIRT_DATE - birth date

  • ***BIRT_PLACE - birth place

  • ***DEAT_DATE - death date

  • ***DEAT_PLACE - death place

  • ***MARR - marriage (place/date/year/alter)
    Note : Binarizing this property according to place, date or period and using this binarized property for redefining spouses in order to effect a second relational or matrimonial census permits a restricted matrimonial census

  • DIV - divorce (place/date/year/alter)

  • BAP - baptism (place/date/year)

  • BURI - burial (place/date/year)

  • DECO - decoration (place/date/year)

  • EDUC - education

  • NATI - nationality

  • OCCU - occupation

  • RELI - religion

  • RESI - residence

  • TITL – title


 The Classification of Kinship Relations
Among the most basic criteria for classifying kinship relations are the following:

a) According to the arc and edge pattern of lines:

  • Length : the number of arcs and edges included (Roman degree in the case of consanguine relations)
  • Height : the length of the longest linear chain included (German degree in the case of consanguine relations)
  • Width : the number of marriage edges included (consanguine relations have width 1, relinking marriages width 2 or more.)

b) According to the gender pattern of vertices :

  • Descent : agnatic, uterine or cognatic according to the gender of vertices in consanguine chains
  • Crossness : cross or parallel according to the gender difference of intermediate pairs of vertices in consanguine chains
  • Terminal crossness : cross or parallel according to the gender difference of terminal pairs of vertices in consanguine chains

c) According to symmetry features :

  • Skewedness: horizontal, ascending or descending according to differences in the length of the linear chains composing a consanguine chain
  • Automorphy: percentage of symmetry transformations that leave the kinship relation unchanged


 Kinship Relation Property Codes
Kinship Relation Property Codes are used to cluster kinship relations and matrimonial rings. Overall kinship relation properties are :

  • SIMPLE - the relation or ring type as such (the "finest" classification: each relation is in a separate class)

  • LENGTH - length : the number of links between ego and alter (in consanguine relations this corresponds to civil or roman degree)

  • HEIGTH - height : the maximal number of links to an apical ancestor (in consanguine relations this corresponds to canonic or germanic degree)

  • WIDTH - width: the number of consanguine components implied in the relation

  • SYM - symmetry: the number of automorphic transformations as a percentage of all possible transformations which leave gender and direction invariant

  • HETERO - a binary property, true if all married couples as well as the pair ego/alter are heterosexual, false otherwise


 Properties of Consanguine Relations
For kinship relations implying marriages, the code yield the profile of properties of the implied consanguine relations :

  • DEGREE - civil degree (number of links between consanguines)

  • ENDS - gender combination of ego/alter

  • SKEW - skewedness (generational distance between ego and alter)

  • SKEW+ - skewedness (in three classes: horizontal, oblique, alterne)
  • LINE - unilinearity type (agnatic, uterine, cognatic, bilateral or identity)

  • AGNA - agnatic coefficient (percentage of agnatic links)

  • UTER - uterine coefficient (percentage of uterine links)

  • DRAV - dravidian crossness

  • SWITCHES - number of gender switches

  • ARCH - gender combination of the apical siblings (children of the apical ancestor of the relation), not defined for linear relations

  • Status (allowed / not allowed / not defined) according to particular marriage systems

  • DRAV-H - dravidian crossness (horizontal system, Chimane model)

  • DRAV-O - dravidian crossness (oblique system, Parakana model)






BARRY Laurent
2004, "Historique et Spécificités techniques du programme Genos", Ecole « Collecte et traitement des données de terrains », Available online at http://llacan.vjf.cnrs.fr/SousSites/EcoleDonnees/extras/Genos.pdf


BARRY Laurent, & GASPERONI Michaël,
2008, "L’oubli des origines. Amnésie et information généalogiques en histoire et en ethnologie", Annales de démographie historique, 116, 53-104.


CAZES Marie-Hélène, & CAZES Pierre,
1996, "Comment mesurer la profondeur généalogique d’une ascendance?", Population, 51/1, 117-140.


GRANGE Cyril, & HOUSEMAN Michael,
2010, "Objets d’analyse pour l’étude des réseaux de parenté: une application aux familles de la grande bourgeoisie juive parisienne XIXe-XXe siècles", Annales de démographie historique, 116(2), 105-144.


2008, "L’analyse de réseaux de parenté: concepts et outils", Annales de démographie historique, 116, 13-52.


2013, "Virtual Fieldwork. Modeling Observer Bias in Kinship and Alliance Networks", Journal for Artificial Societies and Social Simulation, 17(3), 2. Available online at http://jasss.soc.surrey.ac.uk/17/3/2.html.


HAMBERGER Klaus, HOUSEMAN Michael, DAILLANT Isabelle, WHITE Douglas R., & BARRY Laurent,
2004, "Matrimonial ring structures", Mathématiques et Sciences Humaines. Mathematics and Social Sciences, (168), p.83-120.


2009, "La parenté radiographiée", L’Homme191(3), 107-137.


2014, "Scanning for patterns of relationship: analyzing kinship and marriage networks with Puck 2.0", The History of the Family, publication in progress, see http://www.tandfonline.com/loi/rhof20 (restricted access).


HAMBERGER Klaus, HOUSEMAN Michael, & WHITE Douglas R.,
2012, "Kinship Network Analysis", In P. Carrington & J. . Scotto (Éd.), The Sage Handbook of Social Network Analysis (p. 533-549). Sage Publications.


WHITE Douglas R., & HOUSEMAN Michael,
1996, "Structures réticulaires de la pratique matrimoniale", L’Homme, 36(139), 59-85.


WHITE Douglas R., & JORION Paul,
1992, "Representing and Analyzing Kinship: A New Approach", Current Anthropology, 33, 454-462.




Cette partie du site est actuellement en construction...

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


 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z






















Cette partie du site est actuellement en construction...

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


1. Introduction


2. Dataset Management and Editing


3. Dataset Exploration


4. Dataset Transformation


5. Dataset Diagnosis

6. Dataset Partitioning


7. Simulation of Kinship Networks


8. The Circuit and Relational Census


9. The Kinship Calculator


10. Outputs


Cette partie du site est actuellement en construction...

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


 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z



***Agnatic (Uterine) Component – It is the largest component of the agnatic (uterine) chains network.

***Agnatic (Uterine) Weight – It is the number of individuals whose linear agnatic (uterine) ascendant of a given generation is known, as a percentage of all individuals for whom the at least one (agnatic or uterine) ascendant of that generation is known.

***Agnatic (Uterine) Net Weight - It is the number of individuals for whom only the agnatic (uterine) ascendant of a given generation is known, as a percentage of individuals for whom at least one (agnatic or uterine) ascendant of that generation is known.

***Alliance Matrix – It is the matrix of a matrimonial alliance network. It is a contingency (or cross) weighted table that indicates the number of spouses "exchanged" between a given set of classes/groups of individuals. As the classes are listed in the first top-line and first left-column, the descending diagonal of the matrix represent the endogamic (intra-group) marriages.



***Bicomponent - A bicomponent (or bi-connected component) is a graph where two distinct Paths can connect  any two vertices to each other. Thus, a bicomponent contains no cut-point whose elimination would cut it into two disconnected components. Consequently, any two vertices in a bicomponent form part of a cycle (Grange & Houseman, 2010; Hamberger & Daillant, 2008).



Chain - A chain is a (sub)graph whose vertices and arcs form a single path. Using this notion presuppose a socio-centered view of kinship ties.

Consanguine Chain - It is a kinship chain that contains neither parental triads nor (marriage) edges.

Cycle - A cycle is a path where the first and the last vertex are identical. Using this notion presuppose an ego-centered view of kinship ties.

Circuit - A circuit is a (sub)graph whose vertices and arcs form a single cycle. Using this notion presuppose a socio-centered view of kinship ties.

Circuit Census - See matrimonial census.

***Circuit Composition Table – It is a symmetrical cross table that indicates which matrimonial circuit type is the product of the intersection of two other types of circuit (for an example of a circuit composition table, limited to the third canonical degree, see Hamberger & Daillant, 2009).

***Circuit Inclusion – It is a specific kind of intersection between two circuits, where one contains all the other’s individuals.

***Circuit Intersection – It is a relation between two circuits, which share one or more marriage ties.

***Circuit Intersection Matrix – It is the matrix of a circuit intersection network. It indicates the occurrences of each circuit type, as well as the number of marriages involved in a circuit intersection.

***Circuit Intersection Network – It is the network of all the circuit intersections in a given kinship network. It shows both the occurrences of each circuit type, and the number of marriages involved in each circuit intersection.

***Classificatory Matrimonial Census – It is a specific kind of matrimonial census. It consists in searching not for individual circuit types, but for classes of circuit types, that share a given formal criterion.

***Closure Rate – In a kinship network, the closure rate indicates the probability that a marriage edge “close” a given kinship chain (thus, that this become a matrimonial circuit).

***Component – A component is a connected segment of a kinship network.

***Concordance Table - concordance table is a file containing information about the renumbering of individuals. It is a simple text file with two columns where the Id numbers of the members of the second and the first corpus are listed. Individuals that appear in only one corpus do not have to be listed in this table, and numbers need not to be ordered.

***Connubial Circuit – It is a circuit as part of a matrimonial alliance network.

***Consanguine Density – It is the percentage of the pairs of individuals that are connected by a consanguine tie.

***Core - The core of a kinship network is the sum of its matrimonial bicomponents.



***Frame - The frame of a matrimonial circuit is the graph obtained by replacing each one of its consanguine chains with a simple arc. Consequently, only two types of lines compose it: the marriages and the consanguine ties. The frame of a matrimonial network is the union of all the circuit frames that compose the network.



***Generation - Generation and generational distance are not unique concepts. Except in kinship networks that consist of trees, there are usually several alternative ways to arrange an individual on a generational level inferior to its ascendants and superior to its descendants. For instance, if a man has married his sister's daughter, his children will be at the same time grandchildren and great-grandchildren of his father. One has to decide on the path along which generational distance shall be calculated.
The algorithm used by Puck is identical to that of Pajek. It consists in navigating through the network along kinship paths and assigning to parents, spouses and children of each individual the generational level of that individual, augmented by 1, 0 or -1 according to the nature of the kinship tie.
Note: The identity of the algorithm does not necessarily imply the network of the results. The result depends on the navigation path, which may be different for Pajek and Puck, since arcs are not necessarily stored in the same order.



***Kernel - The kernel of a kinship network is its largest matrimonial bicomponent.

***Kinship Network - "Kinship networks are characterized by the interplay of three fundamental principles: filiation, marriage, and gender. We ordinarily represent filiation by a set of arcs (descent arcs) that are directed from parents to children, and marriage by a set of undirected edges (marriage edges) between spouses (for alternative representations of kinship networks without edges, see below). Kinship networks thus are mixed graphs, containing both arcs and edges. Gender is usually taken into account by a partitioning of the vertex set (the gender partition), usually into two or three disjoint classes (male, female, and possibly unknown sex)" (Hamberger, Houseman, & White, 2012).


Linear Kinship Chain - A kinship chain is linear if it consists of uniformly oriented arcs.



***Matrimonial Alliance Network – It is a network of marriage ties between groups (classes) of individuals. In a matrimonial alliance network, arcs represent (one or more) marriage ties and point from the wife's to the husband's group ; nodes represent groups of individuals, who share a given property (place of residence, consanguinity...).

Matrimonial Bicomponent - A matrimonial bicomponent is a maximal subgraph in which every two vertices are part of a matrimonial circuit. Also, any two vertices in a matrimonial bicomponent can be linked to each other by two distinct kinship chains that do not pass through and do not meet in “structural children”. Matrimonial bicomponents are closely related (but not identical) to matrimonial components : both are line-biconnected (two distinct line-series link each vertex to every other), but matrimonial bicomponents are also vertex-biconnected (the two interconnecting line-series never run through the same vertex).

***Matrimonial Census (Circuit Census) – It is the search and exhaustive count of Matrimonial Circuits that comply with some quantitative (size) or qualitative (formula) criteria.

Matrimonial Circuit -  A matrimonial circuit is a kinship chain that both is closed by a marriage and do not involve childless and unmarried individuals (Hamberger, Houseman, Daillant, White, & Barry, 2004).
Pragmatically, matrimonial circuit types correspond to types of consanguine marriage (between consanguine kin, such as between a man and his mother’s brother’s daughter) and types of affine “relinkings” incorporating one, two or more intermediary marriage ties.
- Consanguine marriages, that incorporate a single marriage tie (and a single consanguine kinship chain), form matrimonial circuits of “width” 1, e.g. a man marries his mother’s brother’s daughter.
- Relinkings incorporating two marriage ties (and two consanguine kinship chains), form matrimonial circuits of “width” 2, e.g. a man and his sister marry a sister and her brother, or a man marries his mother’s brother’s wife’s bother’s daughter.
- Relinkings incorporating three marriage ties (and three consanguine kinship chains) form matrimonial circuits of “width” 3, e.g. a man marries his mother’s brother’s wife’s bother’s daughter’s husband’s sister.

Matrimonial circuits are indicators of sociological constraints of matrimonial choice (rules, preferences and avoidances, opportunities) and of the dynamics of self-organization of the network. They have to be studied as a whole. For the concept of the matrimonial circuit, see Hamberger, Houseman, & White (2012, p. 539‑540).

Matrimonial Component - A matrimonial component is the maximal connected part of a matrimonial network.

***Matrimonial Constellation – It is the largest component of a matrimonial network frame.

***CORR? Matrimonial Network - A matrimonial network is a subgraph induced by matrimonial circuits. Matrimonial networks are line-induced and not vertex-induced subgraphs. This means that every line of the subgraph is part of a circuit (it is not enough that its endpoints are in a circuit). The matrimonial network derived from a set of matrimonial circuits found in a kinship network is thus simply the network composed of these circuits. It consists, in other word, of the matrimonially “interesting” regions of the original kinship network.
The connected parts of the matrimonial network (the matrimonial components) represent continuous regions of densely interconnected circuits, which may be studied from various perspectives.
On the one hand, we may suppose that the frequent occurrence of particular matrimonial patterns is correlated with other properties of the network region concerned (for instance social class, geographical region or historical period); we may then apply several partitions to the network in order to evaluate the degree to which partition clusters correspond to matrimonial components.
On the other hand, we may interpret the density of circuits as an effect of self-reinforcing social mechanisms (behavior transmission, imitation or the presence of rules) or as a simple network effect (rings combining to compose other circuits) which we did not consider when defining the criteria for our initial circuit search.
The concept of a matrimonial network is also meaningful in and of itself, independent of any particular circuit set. Even without being able to precisely identify all matrimonial circuits (without limits of size) which may exist in a kinship network, it is possible to determine which part of the network is composed of matrimonial circuits. The result is the absolute matrimonial network, the subgraph induced by all lines in the network which are in some circuit whatsoever. This absolute matrimonial network is equivalent to the sum of all matrimonial bicomponents. It corresponds to what has been called the “core” in a P-graph context (Grange & Houseman, 2010; White & Houseman, 1996) .
Every matrimonial network constitutes a network without tails (every vertex must have a degree greater than one) and without structural children (every vertex must have an outdegree greater than zero). However, the reverse is not the case. There may be networks where all vertices fulfil these two-degree criteria, but which nevertheless are not matrimonial, as they contain lines which do not form part of any matrimonial circuit. Filial triads (father, mother and child) or marriage ties connecting disjoint matrimonial components are instances of this.

Matrimonial Ring - A matrimonial ring is a specific kind of matrimonial circuit, that do not include other circuits.

***Maximal Genealogical Depth – In a kinship network, it is the genealogical distance from the farthest ascendant.

***Mean Genealogical Depth – It is the mean genealogical distance from apical ascendants, it is calculated with the Cazes formula (Cazes, & Cazes, 1996).



***Nucleus (Absolute Matrimonial Network) – The nucleus of a kinship network is the network composed by all its matrimonial circuits.



Ore-graphs - Named after the scandinavian mathematician Oystein Ore (1970), developed by Vladimir Batagelj and Andrej Mrvar. In an Ore graph, vertices represent individuals, arcs filial ties and edges marriages. Vertex-labels represent gender; two different types of lines represent paternal and maternal ties.



Parental Triad - A parental triad is a graph formed by three vertices and arcs pointing from two of them (the “parents”) to the third (the “child”).

Path -  A path is an alternating sequence of vertices and lines (arcs or edges), where all vertices are distinct. Using this notion presuppose an ego-centered view of kinship ties.

P-graph - Developed by Douglas White and Paul Jorion (White, & Jorion, 1992), used by the homonymous computer program p-graph. In a P-graph couples or unmarried individuals are represented by vertices, married individuals by gender labeled lines running from the couple in which they are partner to the couple of which they are born.
P-graphs have the advantages of being directed acyclic and of incorporating fewer lines and vertices, allowing semi-cycles (that correspond to matrimonial circuits in Ore-graphs) to be more easily detected. Note, however, that an individual who marries several times will be represented by several lines. Lines therefore have to be name-labeled in order to distinguish identity from siblingship.



***Relation Census – It is a census of kinship relations that: whether comply with some given quantitative (size) or qualitative (formula) criteria; or correspond to the criteria established in a matrimonial census.



***Structural Children - In a kinship network, structural children are individuals who do not have neither spouses nor children.



Tip-graph - Named after the research group TIP (Traitement Informatique de la Parenté), used by the macros of the Tip4Pajek series (2007). In a Tip-graph, filial and marriage ties are represented by arcs. All information on the type of tie and on gender is contained in line values. There are five types of lines:

- a marriage arc pointing from female to male,
- a filial arc pointing from female (mother) to female (daughter),
- a filial arc pointing from female to male (son),
- a filial arc pointing from male (father) to female,
- a filial arc pointing from male to male.
Because a Tip-Graph does not involve vertex labeling, it is a highly economical representation of a kinship network. Its major disadvantage is that it is not directed acyclic. Many analyses therefore require its being re-transformed into a conventional Ore-graph. To export a dataset in tip-graph format (as a pajek project file) the option “tip” has to be chosen.


***Virtual Individuals - Virtual individuals are individuals for whom no information is available except for their kinship relations (and perhaps their gender, if they are parents or spouses of existing individuals). They only serve to represent the common parents of full siblings.


Program for the Use and Computation of Kinship data

© Research Group TIP (Kinship and Computing)
Centre National de Recherche Scientifique, Paris
Distributed under CeCILL licence version 2 (http://www.cecill.info/)
Created 2007 by Klaus Hamberger
Developed by Klaus Hamberger, Christian Momon, Edoardo Savoia, Telmo Menezes and Éric Mermet
Visualization powered by KinOath (developed by Peter Withers) and Geneaquilts (developed by Anastasia Bezerianos, Pierre Dragicevic and Jean-Daniel Fekete)
JVM = 1.7.0_91 24.91-b01
XMX = 298M/353M/910M
OS = Linux 3.16.0-38-generic 64bits

write to Puck users mailinglist : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.



Cette partie du site est actuellement en construction...

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

What is PUCK ?
Puck is a computer program for analyzing genealogical and other kinship related data. It has been conceived in continuity with the gradual introduction of computers in kinship studies since the 1970s.
Puck is a product of the research group TIP and an outcome of the project « Informatical treatment of kinship phenomena » (« Traitement Informatique des phénomènes de parenté », 2006- 2009) financed by the French National Research Agency (ANR).
For a presentation of the software, and of its theoretical issues, we suggest english readers to see Hamberger, Houseman, & Grange, (2014) ; french readers can refer to Hamberger, Houseman, & Grange, (2009).


What PUCK does ?
« A paradox is at the heart of studies on kinship: the marriage choices which, as the foundation of kinship systems, should be the primary object were neglected, especially in their empirical dimension. The anthropology of kinship began as an analysis of terminology and developed into a science of rules and norms. Today, it appears as a multifaceted research field dealing with representations and institutions, political strategies and symbolic operations. Still, the actual practices that generate matrimonial networks continue to occupy a marginal position » (Hamberger, Houseman, & Grange, 2009, p. 107). Kinship cannot be treated as a collection of isolated elements, the use of a computer processing of matrimonial practices have proved fundamental.
Starting from this premise, the software allows not only to make very fine and precise analyses of the matrimonial structures and configurations of genealogical networks, but also to consider its quality and biases: the data processing of kinship relationships is thus an opportunity to consider the theoretical issues and methodological choices, as it respects the individual way of the collection and organization of field data or records, to assess the quality of the dataset studied.
Puck accompanies the researcher throughout his work, from data input to final analysis. It is compatible with most commonly used formats (Excel, Gedcom, Pajek, etc.), and allows to import or export files in all these formats. Puck has been written in Java 1.6 and is continuously updated.


PUCK main functions

  • Matrimonial and Relational Census
    Puck is the first software allowing to run a full matrimonial and relational census on a genealogical dataset. It identifies the matrimonial circuits that can be found in a kinship network, classifies them and assists the researcher through the analysis of the network topology. By producing the circuit intersection network of a given dataset, it highlights the actual combinations existing between different marriages types and thus allows to focus on the most structurally significant areas of the network. Those operations can help in distinguishing whether the frequency of given matrimonial structures is due to specific social norms (preferences, avoidances...) or is a mechanical effect of the network density.
  • Diagnostics of Kinship Datasets
    Genealogical corpora produced by researchers are not neutral objects. Genealogies constructed from informants or documentary sources are often incomplete and androcentric, which implies an asymmetry of relations in the network. It is very important to detect errors of data collection or data entry to correct them, to know biases and be able to relativize the raw results (Barry & Gasperoni, 2008; Hamberger & Gargiulo, 2013; Hamberger, Houseman, & White, 2012, p. 546‑547). Before analyzing a family dataset, the first step is therefore to establish a profile of the network, from basic tools (count of the population and demographic composition, gender distribution, genealogical depth, density) to more complex ones (family completeness, gender bias), not only on the overall network, but also on specific parts of it. By partitioning the dataset and focusing on specific parts of the network it is then possible to refine the analysis.

  • Kinship Networks Partitioning
    PUCK allows to partition a kinship network by choosing appropriate criteria. These can be individual (e.g., gender, age, birth period, occupation...) as well as family (e.g., union status, children number...) properties. The partitioning operations can show themselves fundamental, in order to refine and supplement qualitative analysis (dataset diagnosis) and/or a matrimonial census.

  • Kinship Networks Simulation 
    Puck can not only treat actual kinship networks, it also provide refined tools for their simulation. The technique, recently diffused in kinship studies, consist in producing randomly generated networks and using them as means of comparison. Such an analytical process can contribute to discern if some of the regularities found in matrimonial practices are the mere product of given statistical criterias or if they actually derive from social institutions.

  • Management and Editing of Kinship Networks
    Hardware supports, such as fieldwork notebooks, hand-drawed genealogy graphs (etc.) are especially subject to time, weather and, more commonly, entropy. A 10 minutes rain can severely damage the fruit of a long period work. PUCK can be used as a tool to generate, manage and stock kinship networks on a software support. This can be crucial in order to secure the kinship data conservation and therefore their analysis.

  • Navigation through Kinship Networks
    Kinship networks are complex collections of individuals, ties, events and properties. Even if such data have been gathered personally by the researcher, individual after individual, they can be surprisingly hard to remember and confusing to browse. Thereafter, supports such as fieldwork notebooks can carry biases : for instance, a household based enquiry can easily give unwanted prominence to the residential factor on other ones, like matrimonial alliances.

    Thus, Puck has been designed to provide researchers with a tool, not only for stocking data, but also for navigating through them as freely and neutrally as possible. Its components allow to move smoothly, as well as actually "jump", through kinship corpora.


 Download and System Requirements
The software can be downloaded here for free, where you will find the latest version (PUCK 2.0) and earlier ones (PUCK 1.0).

System requirements : written in Java, Puck works with most of the common operating systems : on PC (Linux, Solaris, Windows) as well as Mac. Before running the application, make sure that your computer is equipped with an adequate version of Java.


PUCK is a free software, distributed under CeCILL license (a french variant of GPL). Puck has been deposited at the APP (Agence pour la Protection des Programmes, Program Protection Agency) and is protected by French law.




About this guide
This guide has been conceived for users of every level. Its main objective is to offer accessible and clear answers to your questions about Puck 2, its functionalities and use. As the guide focuses on the program itself, we suggest exploring the bibliographic section in order to deepen the theoretical issues that surround the program conception.

In order to facilitate the access to the guide you can find, as follows, a short presentation of its different sections :

  • The section called Functionalities contains a detailed and exhaustive description of PUCK functional components. It is the core of the guide. Its organisation follows the program components themselves and a specific menu is dedicated to it. In its "Start" page you can find a map of the program, indicating PUCK main components that are described in each page of the Functionalities section.

  • The Alphabetic and Thematic indexes are meant to drive the reader through the guide contents. In particular, the Thematic Index is conceived to introduce in a more progressive way, new Puck users to the program.

  • The Appendices section contains several additional chapters which contents do not directly concern Puck components themselves, but are useful introductions for its use. These are about :
  • The Glossary offers a terminological compound to the guide reading. Most of its entries are an english translation of a previous glossary, that the TIP research group published in a monographic number of the french review Annales de démographie historique (2008/2 n.116, p.233-235).


For any issue with the program, please write to Puck users mailinglist : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.