22
gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Embed Size (px)

Citation preview

Page 1: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

gdmxml:An XML Implementation of the GENTECH Genealogical Data

ModelHans Fugal

Page 2: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

GDM: What and Why?

• GENTECH Genealogical Data Model, by the Lexicon Working Group

• It models the way genealogists do things and the data they collect, not just the conclusions.

Page 3: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

GDM Submodels

• Administration

• Evidence

• Conclusion

Page 4: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Administration Submodel

• Projects and researchers

• Research objectives and activities

• Source groups and surety schemes

Page 5: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Evidence Submodel

• Sources and citation parts

• Representations

• Repositories

Page 6: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Conclusion Submodel

• Personas

• Events

• Characteristics

• Groups

• Assertions

Page 7: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Assertions

• Based on a source or on lower-level assertions

• Links two subjects with a value or role

Page 8: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Useful Subject Combinations

Persona Event Group Characteristic

Persona X X X

Event X X

Group X X

Characteristic

X

Page 9: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

XML: What and Why?

• Extensible Markup Language• Markup adds structure and meaning to

documents• Human-readable• Machine-readable• Many tools available for processing and

transforming XML• Perfect for data exchange between software

Page 10: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Elements

<persona> <name>Hans Fugal</name></persona>

Page 11: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Attributes

<persona id=“someid”>…</persona>

Page 12: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Namespaces

• Define scope

• Extensibility (expert systems)

• gdmxml: http://gdmxml.fugal.net/beta

Page 13: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

RELAX NG

• Well-formed vs. Valid; Schemas describe what is valid.

• RELAX NG is a schema language– More powerful than XSD– Easier than XSD

• Compact syntax easier to author

Page 14: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

XSD Persona

<xs:element name="persona"> <xs:complexType> <xs:all> <xs:element ref="ns1:name"/> <xs:element minOccurs="0" ref="ns1:description-comments"/>

</xs:all> <xs:attribute name="id" use="required" type="xs:ID"/>

</xs:complexType> </xs:element>

Page 15: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

RELAX NG Persona

<element name="persona"> <attribute name="id"> <data type="ID"/> </attribute> <interleave> <element name="name"><text/></element> <optional> <element name="description-comments"> <text/></element> </optional> </interleave></element>

Page 16: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

RELAX NG Compact Syntax Persona

element persona {

attribute id { xsd:ID },

(

element name { text }

& element description-comments

{ text }?

)

}

Page 17: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

RELAX NG Compact Syntax Key

• \activity – reference

• * – zero or more

• + – one or more

• ? – zero or one

• & – interleave

• | – logical OR

• # – comment

Page 18: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Walkthrough and Discussion

• gdmxml.rnc

• gdmxml.rng – generated automatically

• fugl.xml – A sample gdmxml document

Page 19: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Future Directions

• Use as a file export in software• Conversion to and from GEDCOM• Use XSLT to create HTML, PDF, or other

formats in various views– Example stylesheet to show all the assertions

– Pedigrees, FGR sheets, various reports

• We need a standard taxonomy before we can guarantee interoperability with the GDM.

Page 20: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

Changes from the GDM:Summary

• SEARCH refers to REPOSITORY-SOURCE instead of REPOSITORY and SOURCE separately

• CHARACTERISTIC may have no PLACE reference. (What place is associated with natural hair color)

• GROUP may omit PLACE reference. (e.g. persona groups)

• Some data implied rather than explicit (e.g. sequence)

Page 21: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

GDM Questions Raised

• REPRESENTATION and SOURCE– When is it a REPRESENTATION, and when

is it a SOURCE or perhaps CITATION-PART?

– URIs, MIME types, and encoding representations.

Page 22: Gdmxml: An XML Implementation of the GENTECH Genealogical Data Model Hans Fugal

For More Information

• http://gdmxml.fugal.net

[email protected]

• http://www.gentech.org