prośba o pomoc - Iloczyn kartezjański jako drzewo?

0

cześć
jest obiekt z masą propertisów - np po sparsowaniu XML-a
np taki:
CLASS DATA_CONTAINER
{
PROPERTY_1[]
PROPERTY_2[]
PROPERTY_3[]
PROPERTY_4
PROPERTY_5
....
PROPERTY_n
}
propertysów może być kilkadziesiąc - niektóre są zbiorami ([]) niektore typami prostymi(int, string), niektóre typami złożonymi (np MyTyp{int , string})

obiekty będzie można porównać budująć sobie klucz -> wartość
KLUCZ - dowolna ilość propertysów, jeśli property jest tablicą to brany jest każdy element tablicy
np
DATA
{
ARRAY INT LICZBA [1,2,3]
ARRAY STRING TEXT ["A","B"]
INT NUMER
}
wskazukąc jako klucz LICZBA a WARTOŚĆ TEXT,NUMER mamy do porównanie takie tuple
(1)->(A,NUMER) (2)->(A,NUMER) (3)->(A,NUMER)
(1)->(B,NUMER) (2)->(B,NUMER) (3)->(B,NUMER)

wskazukąc jako klucz LICZBA,TEXT a WARTOŚĆ NUMER mamy do porównanie takie tuple
(1,A)->(NUMER) (2,A)->(NUMER), (3,A)->(NUMER)
(1,B)->(NUMER) (2,B)->(NUMER), (3,B)->(NUMER)

wskazukąc jako klucz NUMER 0 a WARTOŚĆ LICZBA,TEXT mamy do porównanie takie tuple
(NUMER)->(1,A) (NUMER)->(2,A) (NUMER)->(3,A)
(NUMER)->(1,B) (NUMER)->(2,B) (NUMER)->(3BA)

Iloczyn kartezjańskii to masa powtórzeń
Ale pewnie można ogarnąć to jakoś drzewem - nie wiem jak :)

jakby ktoś miał pomysł jak to ogarnąć - byłbym wdzięczy

1

Jak je Chcesz porównywać?

0

dzięki, juz ogarnałem, moj bład logiczny w myśleniu - ale wrócielm na właściwe tory - po prostu jakos sobie ubzduralem, że np dla 100 propertisów, 50 klucz 50 wartość, będzie 2500 rekordów, a nie jeden :)
bo to powinno być tak jeśli properta nie jest kolekcją to rowna się 1, jeśli jest to rowna się rozmiarowi kolekcji
a potem mnożysz 1x1xNx1 itd

głupota moja po prostu

1 użytkowników online, w tym zalogowanych: 0, gości: 1