sdx-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-developers] Relations entre les documents


From: Pierrick Brihaye
Subject: Re: [sdx-developers] Relations entre les documents
Date: Tue, 19 Nov 2002 17:29:14 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0

Re,

Martin Sevigny a écrit:

Depuis SDX 1, un document XML indexé peut avoir des documents attachés.
Il y a une relation entre ces deux documents, relation que SDX exploite
d'une seule façon : il détruit les documents attachés si le document XML
est détruit.

Mmmh... d'après le code, ça va plus loin car il semble que l'on peut *partager* des documents attachés. On n'efface donc que quand le compteur de références passe à 0. J'en profite pour dire que c'est un excellent concept :-)

On peut voir ces fragments comme des relations : un document <fait
partie> d'un autre document, ou inversement un document <contient> un
autre document. Ainsi, dans l'exemple, je pense que l'on peut dire que A
contient B, C et D. On peut aussi dire que B contient C. Donc en plus
d'une relation "est attaché à", on aurait une relation "fait partie de".

Tout à fait d'accord.

Ayant deux relations possibles, on peut se poser la question : doit-on
rendre le concept générique? C'est-à-dire permettre tout type de
relation? On pourrait penser que je suis en faveur, puisque tout ou
presque est générique dans SDX, mais là je suis contre... Principalement
parce que ça cause un problème d'implantation.

Mmmh. Quel serait-il ? Il est possible que je manque de recul, mais dans l'état actuel des choses, l'utilisation du fameux troisième index pourrait selon moi être rendue possible en une cinquantaine de lignes... et je suis volontaire pour les rédiger !

Je suis aussi contre parce que je n'arrive pas à y trouver un intérêt
immédiat.

Les exemples cités ne sont-ils pas des démonstrations de cet intérêt ?

Si le développeur veut ses propres relations, il n'a qu'à les
définir par des champs (on le fait souvent).

C'est là où je coince. Pour l'instant, on stocke dans l'entrée de lookup du document *propriétaire* (quel deviendra ce concept avec des documents fragmentés ?) un truc du genre :

ID_DOCUMENT_ATTACHE:1
ID_DOCUMENT_ATTACHE:2
ID_DOCUMENT_ATTACHE:3

Ca fonctionne, tant qu'on n'a qu'un seul champ. Mais si je veux, par exemple, stocker le repository (cf. autre thread) :

ID_DOCUMENT_ATTACHE:1
ID_DOCUMENT_ATTACHE:2
ID_DOCUMENT_ATTACHE:3
REPOSITORY_DOCUMENT_ATTACHE:A
REPOSITORY_DOCUMENT_ATTACHE:B
REPOSITORY_DOCUMENT_ATTACHE:C

comment je fais la nécessaire relation A1, B2, C3 ?

> Cette réflexion aurait même tendance à me faire dire qu'on a un
seul type de relation, documents attachés ou fragment de documents.

Pour les documents fragmentés, tu as un point *en plus* qui me paraît primordial : la relation d'ordre. Pour reprendre l'exemple précédent, avec un degré supplémentaire (qui n'est d'ailleurs pas ultime) de complexité cette fois, on a :

ID_DOCUMENT_ATTACHE:1
ID_DOCUMENT_ATTACHE:2
ID_DOCUMENT_ATTACHE:3
REPOSITORY_DOCUMENT_ATTACHE:A
REPOSITORY_DOCUMENT_ATTACHE:B
REPOSITORY_DOCUMENT_ATTACHE:C
SEQUENCE_DOCUMENT_ATTACHE:1
SEQUENCE_DOCUMENT_ATTACHE:2
SEQUENCE_DOCUMENT_ATTACHE:3

qui stocke les relations (ordonnées) : A/1, B/2, C/3.

Mais peut-être as-tu une idée sur ce point qui serait radicalement différente de la mienne ? Je serais très heureux de me tromper sur ce point : de plus, c'est la période ;-)

J'ajoute que ça crée une grosse différence entre les entrées de lookup des documents indexés et les entrées de lookup des autres (documents documents attachés et... document originaux qui, eux aussi, pourraient bénéficier des raltions), mais ça, c'est marginal.

A bientôt.

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]