Skip to content

Mistakes while seeding of data with multiple spouses #3

@doanva84

Description

@doanva84

If I changed your data

Your sample data
data = [{
    id: 0,
    name: 'Niclas Superlongsurname',
    parent1Id: null,
    parent2Id: null,
    gender: "man"
  },
  {
    id: 1,
    name: 'Iliana',
    parent1Id: null,
    parent2Id: null,
    gender: "woman",
    nickname: "Illi"
  },
  {
    id: 2,
    name: 'James',
    parent1Id: 0,
    parent2Id: 1,
    gender: "man"
  },
  {
    id: 3,
    name: 'Alexandra',
    parent1Id: null,
    parent2Id: null,
    gender: "woman"
  },
  {
    id: 4,
    name: 'Eric',
    parent1Id: 3,
    parent2Id: 2,
    gender: "man"
  },
  {
    id: 5,
    name: 'Eva',
    parent1Id: null,
    parent2Id: null,
    gender: "woman"
  },
  {
    id: 6,
    name: 'Jane',
    parent1Id: 2,
    parent2Id: 3,
    gender: "woman"
  },
  {
    id: 7,
    name: 'Jasper',
    parent1Id: 2,
    parent2Id: 3,
    gender: "man"
  },
  {
    id: 8,
    name: 'Emma',
    parent1Id: 2,
    parent2Id: 3,
    gender: "woman"
  },
  {
    id: 9,
    name: 'Julia',
    parent1Id: 2,
    parent2Id: 3,
    gender: "woman"
  },
  {
    id: 10,
    name: 'Jessica',
    parent1Id: 2,
    parent2Id: 3,
    gender: "woman"
  }
];
My sample data
  • Add 2nd spouse Alexandra2 to James
  • Move some children to 2nd spouse
data = [{
    id: 0,
    name: 'Niclas Superlongsurname',
    parent1Id: null,
    parent2Id: null,
    gender: "man"
  },
  {
    id: 1,
    name: 'Iliana',
    parent1Id: null,
    parent2Id: null,
    gender: "woman",
    nickname: "Illi"
  },
  {
    id: 2,
    name: 'James',
    parent1Id: 0,
    parent2Id: 1,
    gender: "man"
  },
  {
    id: 3,
    name: 'Alexandra',
    parent1Id: null,
    parent2Id: null,
    gender: "woman"
  },
  {
    id: 13,
    name: 'Alexandra2',
    parent1Id: null,
    parent2Id: null,
    gender: "woman"
  },
  {
    id: 4,
    name: 'Eric',
    parent1Id: 3,
    parent2Id: 2,
    gender: "man"
  },
  {
    id: 5,
    name: 'Eva',
    parent1Id: null,
    parent2Id: null,
    gender: "woman"
  },
  {
    id: 6,
    name: 'Jane',
    parent1Id: 2,
    parent2Id: 3,
    gender: "woman"
  },
  {
    id: 7,
    name: 'Jasper',
    parent1Id: 2,
    parent2Id: 13,
    gender: "man"
  },
  {
    id: 8,
    name: 'Emma',
    parent1Id: 2,
    parent2Id: 3,
    gender: "woman"
  },
  {
    id: 9,
    name: 'Julia',
    parent1Id: 2,
    parent2Id: 13,
    gender: "woman"
  },
  {
    id: 10,
    name: 'Jessica',
    parent1Id: 2,
    parent2Id: 13,
    gender: "woman"
  }
]; //dTree's sample data in dTree-Seed's "member" format

My seededData
[
  {
    "id": 0,
    "name": "Niclas Superlongsurname",
    "class": "man",
    "textClass": "emphasis",
    "depthOffset": 1,
    "marriages": [
      {
        "spouse": {
          "id": 1,
          "name": "Iliana",
          "class": "woman",
          "textClass": "",
          "depthOffset": 1,
          "marriages": [],
          "extra": {
            "nickname": "Illi"
          }
        },
        "children": [
          {
            "id": 2,
            "name": "James",
            "class": "man",
            "textClass": "",
            "depthOffset": 2,
            "marriages": [
              {
                "spouse": {
                  "id": 3,
                  "name": "Alexandra",
                  "class": "woman",
                  "textClass": "",
                  "depthOffset": 2,
                  "marriages": [],
                  "extra": {}
                },
                "children": [
                  {
                    "id": 4,
                    "name": "Eric",
                    "class": "man",
                    "textClass": "",
                    "depthOffset": 3,
                    "marriages": [],
                    "extra": {}
                  },
                  {
                    "id": 6,
                    "name": "Jane",
                    "class": "woman",
                    "textClass": "",
                    "depthOffset": 3,
                    "marriages": [],
                    "extra": {}
                  },
                  {
                    "id": 8,
                    "name": "Emma",
                    "class": "woman",
                    "textClass": "",
                    "depthOffset": 3,
                    "marriages": [],
                    "extra": {}
                  }
                ]
              },
              {
                "spouse": {
                  "id": 2,
                  "name": "James",
                  "class": "man",
                  "textClass": "",
                  "depthOffset": 2,
                  "marriages": [],
                  "extra": {}
                },
                "children": [
                  {
                    "id": 7,
                    "name": "Jasper",
                    "class": "man",
                    "textClass": "",
                    "depthOffset": 3,
                    "marriages": [],
                    "extra": {}
                  },
                  {
                    "id": 9,
                    "name": "Julia",
                    "class": "woman",
                    "textClass": "",
                    "depthOffset": 3,
                    "marriages": [],
                    "extra": {}
                  },
                  {
                    "id": 10,
                    "name": "Jessica",
                    "class": "woman",
                    "textClass": "",
                    "depthOffset": 3,
                    "marriages": [],
                    "extra": {}
                  }
                ]
              }
            ],
            "extra": {}
          }
        ]
      }
    ],
    "extra": {}
  }
]
  • Problem:

    • 2nd spouse of James was generated = James
    • image
  • Expectation:

    • 2nd spouse of James must be Alexandra2

By the way, would it be better to allow to make seededData (ready for dTree) from .csv/table contents?
For example:

id name parent1Id parent2Id gender nickname
0 Niclas Superlongsurname man
1 Iliana woman Illi
2 James 0 1 man
3 Alexandra woman
13 Alexandra2 woman
4 Eric 3 2 man
5 Eva woman
6 Jane 2 3 woman
7 Jasper 2 13 man
8 Emma 2 3 woman
9 Julia 2 13 woman
10 Jessica 2 13 woman

Thank you for your great utility ❤️

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions