Skip to content

graphical representation of the data model in the gramps genealogy program

License

Notifications You must be signed in to change notification settings

mod-by-cis/gramps-data-model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗃️: Gramps Data Model Diagram (github.com/mod-by-cis/gramps-data-model)

Graphical representation of the data model in the gramps genealogy program. I did not understand the of relation in gramps-data, until I exploring by creating a diagram - CC0 - Shared under Creative Commons Zero terms. I don't claim any rights if it helps anyone, I just wanted to share it in case it might help someone.

⚠️ The license does not apply to the ./model folder. The DTD and RNG files are copies of the files in the ./data folder in the gramps repository and are subject to the license of that repository. The remaining files in the ./model folder are converted from the official DTD and RNG files from the ./data folder in the gramps repository.

📌: Index


🔝back to TOP

0️⃣: About Gramps

Gramps (Genealogical Research and Analysis Management Programming System) – is one of the most advanced genealogy programs, surpassing others in terms of complexity. Moreover, it is available for free.


🔝back to TOP

1️⃣: Gramps Data Model Diagram

The graphs of the data model were created in the free yEd programme of the yWorks. yEd - live, yEd - downloads.

1️⃣-en-25: Gramps Data Model Diagram (lang: english; v.2025-02-27)

Grams Data Model Diagram (lang: english; v.2025-02-27)

diagram available in format:


🔝back to TOP

1️⃣-pl-25: Gramps Data Model Diagram (lang: polish; v.2025-02-27)

Grams Data Model Diagram (lang: polish; v.2025-02-27)

diagram available in format:


🔝back to TOP

1️⃣-pl-18: Gramps Data Model Diagram (lang: polish; v.2018-10-21)

Gramps Data Model Diagram (lang: polish; v.2018-10-21)

diagram available in format:


🔝back to TOP

2️⃣: official grampsxml data model files (the model used in gramps): *.dtd and *.rng

The official GRAMPS repository contains the data model for the *.gramps file in both DTD and RNG formats. I am including these files as copies from the official repository to serve as the foundation for outlining the dependency model. The table shows the latest versions of gramps that use a given model.

gramps:
grampsxml:
🕒 v6.0.0-rc1
v1.7.2
v5.1.6
v1.7.1
v4.1.3
v1.6.0
v4.0.4
v1.5.1
v4.0.1
v1.5.0
v3.4.5
v1.5.0
v3.3.1
v1.4.0
v3.2.6
v1.3.0
v3.0.4
v1.2.0
v2.2.10
v1.1.4
Document Type Definition 🔄️ 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd
Relax NG 🔄️ 📜.rng 📜.rng 📜.rng 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd 📜.dtd

🔝back to TOP

3️⃣: files converted from official *.dtd and *.rng
all files in folder: ./model/**/

  • to convert *.DTD to *.DTD.XSD, I used 30 days trial version, XMLSpy-by-altova
  • to convert *.DTD.XSD to *.DTD.XSD.JSON, I used script ./utils/download-official-DTD-RNG.ts
  • (TO DO) to generate diagram *.DTD.XSD.JPG from *.DTD.XSD and *.RNG.XSD.JPG from *.RNG.XSD, I used trial version, Stylus Studio
  • to convert *.RNG to *.RNG.XSD and to *.RNG.XSD.JSON, I used script ./utils/covert_RNG_toXSD_andToJSON.ts (this script uses external tool jing-trang download from.. It might be a copy from..)
DTD (Document type definition) 📜.dtd grampsxml.dtd mirror from official repo of gramps using ./utils/covert_DTD-XSD_toJSON.ts
XSD (XML Schema) 📜.dtd.xsd converted from grampsxml.dtd using XMLSpy-by-altova
XSD (XML Schema) as JSON 📜.dtd.xsd.json converted from grampsxml.dtd.xsd using ./utils/covert_DTD-XSD_toJSON.ts

RNG (RELAX NG schema) 📜.rng grampsxml.rng mirror from official repo of gramps using ./utils/covert_DTD-XSD_toJSON.ts
RNG (RELAX NG schema) as JSON 📜.rng.json converted from grampsxml.rng when file was downloading using ./utils/download-official-DTD-RNG.ts
XSD (XML Schema) 📜.rng.xsd converted from grampsxml.rng using ./utils/covert_RNG_toXSD_andToJSON.ts
XSD (XML Schema) as JSON 📜.rng.xsd.json converted from grampsxml.rng.xsd using ./utils/covert_RNG_toXSD_andToJSON.ts

🔝back to TOP