Genealogy Brainstorming

From Microformats Wiki
Jump to navigation Jump to search

Per the microformats The microformats process, towards the development of a Genealogy microformat, this page documents brainstorms that should be based on modeling the 80/20 of real world examples of genealogy publishing on the web, preferably re-using terminology from existing genealogy formats.


Building blocks

Since genealogy is about people and their relationships, it is likely that any genealogical microformat will be built from hCard and XFN - The XHTML Friends Network microformats; with hCalendar used for dates such as marriages and divorces. The proposed Citation microformat efforts microformat could be incorporated, as many genealogists cite the records they use.

Document types

Genealogy documents on the web tend to fall into one of several types:

  1. A family tree with many members (e.g. [1]).
  2. A page for an individual, listing their ancestors and descendants for one generation in each direction, plus their spouse(s) and, sometimes, their sibling(s) (e.g. [2], [3]).
  3. As above, but for a couple (e.g. [4])
  4. Prose pages which may discuss the families of one or more, sometimes unrelated, individuals (not necessarily in the context of genealogy) (e.g. [5]).

Only the second of these, and some, but by no means all, of the others, are suited to XFN markup.



Update: note that vcard4 has a "gender" property that is likely to be incorporated into the next version of hCard 1.0.

To make life easier for publishers, the following values could all equate, without requiring the use of abbr to:


  • male
  • he
  • man
  • m
  • son
  • father
  • husband
  • brother
  • uncle
  • nephew
  • grandfather/ grand-father / great-grand-father etc.
  • grandson/ grand-son / great-grand-son etc.
  • ...


  • female
  • she
  • woman
  • f
  • fem
  • wife
  • daughter
  • mother
  • sister
  • aunt
  • niece
  • grandmother/ grand-mother / great-grand-mother etc.
  • granddaughter/ grand-daughter / great-grand-daughter etc.
  • ...


  • What about other languages?
  • Gender reassignment and other edge cases
    • Outside the 80/20 cut-off
    • Could use abbr
    • See also GenderHack
  • What about the hierarchical uses of "parent" and "child" that had been proposed in HTML 4.0 Specification?
    • "parent": the target document is the hierarchical parent, or container, of the current document
    • "child": the target document is a hierarchical child, or subdocument, of the current document


XFN - The XHTML Friends Network has some family rel values: "parent", "child", "sibling", "spouse".

Although, from existing publishing practices, it seems that the above ("primary") relationships are more commonly expressed than secondary relationships ("aunt", "grand-father") when linking from one page to another, additional values may be required (see above for further examples). These could, of course, be used outside a genealogy microformat, as with other XFN values.

Non-marriage partnerships

  • follow-up: specific examples/citations needed.

... and short-term liaisons should also be catered for (for the parents of illegitimate children).

  • follow-up: some short-term liaisons may already be documented with the XFN values "date" and "sweetheart".
    • Neither "date" nor "sweetheart" is used in genealogy. Children are born to unmarried parents who were neither.

In addition to the gender-neutral primary relationships already in XFN, gender-specific terms may be required ("father" and "mother" for "parent", for example).

  • follow-up: gender-specific relationship terms are undesirable as described in XFN:Background: Gender neutrality (and avoiding other personal attributes).
    • "Undesirable" is merely an opinion. Gender-specific terms are used in genealogy (and related matters, such as birth certificates); "non-traditional" genders fall far outside the 80:20 divide.
      • The point is, gender of a subject is information that should be in the info associated with that subject (e.g. in their hCard or extension to thereof), not with each and every relationship to that subject. Duplicating such gender information would violate the principles. This is why gender information is undesirable in a relationship format, even thought it is desirable in a genealogy format which would likely include info about the subject and relationships.
        • In genealogy, relationships (including their gender) are significant; and are published on the web. Furthermore, we currently have no method, in microformats, of publishing a person's gender. Extending (or mirroring) XFN to indicate gender of relationships could be a "quick win" for a genealogy microformat; and would allow links to third party pages to indicate a genealogical relationship, even if it is not possible to edit the third party page concerned (and so no repetition is involved). Adding gender to a relationship adds semantics; "son" is more meaningful than "child", in the same way that "child" is more meaningful than "relative".

There might also be a need for "step-sibling",

  • follow-up: it may be better to update the XFN definition of "sibling" to explicitly include "step-sibling" as it can be reasonably asserted that the current definition and background allows for it.

... "step-mother"

  • follow-up: it may be better to update the XFN definition of "parent" to explicitly include "step-parent" as it can be reasonably asserted that the current definition and background allows for it. See above about avoiding gender-specific terms like "mother".

... and "half-sibling", etc.

  • follow-up: "half-sibling" is already covered by the current definition and background of "sibling" in XFN.
    • Siblings, half- and step- siblings are separate and unique concepts, not least in genealogy; and in law. Current XFN usage is not tailored (and thus not suitable, at present) for genealogy.

If XFN is used, then it would be prudent to add a couple of rules or guidelines:

  • Each page SHOULD or MUST have one and only one hCard for a person, who MUST be the person in the relationship (this allows for non- personal hCards for publishing organisations, in hResume, etc. Otherwise, the system would fail if, say, rel-spouse linked to page, about a person whose sibling or colleague was also hCarded on that page, even if that page was primarily about the person referred to by the "rel".
    • This could be avoided by linking to page-fragments using IDs <a href="myfamily#dad" rel="father">Dad</a>; <a href="myfamily#mom" rel="mother">Mom</a> with a stipulation of one hCard per ID (or that only the first hCard at that fragment is considered); since the defined purpose of "rel" is to "[describe] the relationship from the current document to the anchor specified by the href attribute" and not "the page specified by the href attribute".
      • Although the link can point to a fragment ID, it can't point from a fragment ID. This is a general weakness with the rel and rev attributes — it can only be solved using RDFa which amongst other things provides scoping for rel and rev. This is not just a theoretical problem — any solution that tried to use XFN to provide relationship links within a page while ignoring this issue would break virtually all existing XFN implementations.

See also: XFN Brainstorming

Date of death

Inevitably, more of our ancestors are dead than alive.

Since non-genealogical web pages also publish death dates, it is proposed that hCard be extended to incorporate them. See hcard-date-of-death

Date of baptism

Older records, from times when registration of births was not carried out, rely on baptism records, A date-of-baptism property is thus required. This could be added to hCard, or be specific to a genealogy microformat, and should be based on hCards "bday".


As interesting and problematic as death, marriage, and baptism dates are, each event also, for genealogical purposes, contains a location which it is important to capture.

In general it is:

  • Event (Birth, Baptism (Christening), Marriage (n of these), Death)
    • Date
    • Location
    • Source (n sources for each event).

These things are very difficult to encode in an hcard. I did it on my genealogy website by coding x-birth-location, x-marriage-date, x-marriage-location, x-death-date, and x-death-location, but this, i am confident is NOT the correct way to do this.

  • The new vCard draft has properties called "dday" (for date of death) and "birth" and "death" for locations of each. TobyInk 00:40, 7 Apr 2008 (PDT)
  • For marriage, perhaps a hCalendar Event with the bride and groom each given as attendees? TobyInk 00:41, 7 Apr 2008 (PDT)

Rob Salzman 10:10, 7 Apr 2008 (PDT) Unless there is only a single person on an html page, I don't see how you can use an hCalendar event for marriage, or XRel's for relationships either.

My Family Sheets are organized like this:

Husband (name, birth date, birth location, marriage date, marriage location, death date, death location) Wife (same, except, usually no marriage information) Child1 (name, birth date, birth location, spouse info, death date/location) Child2 (name, birth date, birth location, spouse info, death date/location) ...

(Here is an example (my grandfather)

See also