Nochmals Avanti

Thomas Fischer fischer at mail.sub.uni-goettingen.de
Mi Okt 24 10:11:24 CEST 2001


Liebe Liste,

ich möchte noch einmal zu meinem Problem mit den Avanti-Anfragen
zurückkehren:

Der Aufruf
find  ( SUC "973.3" )
ergibt 14 Treffer, der logisch äquivalente Aufruf
find ( ( SUC "973.3" ) and ( ( SUC "35?" ) or ( not ( SUC "3?" ) ) ) )
ergibt 0 Treffer.

Ebenso liefert
find ( SUC "973.3" ) or ( not ( SUC "35?" ) )
0 Treffer

Nach einigem Probieren habe ich den Eindruck, daß das Problem darin liegt,
daß Avanti die Anfragen von innen nach außen abarbeitet. Dabei tritt dann
ein Term
find  not ( SUC "35?" )
auf, den Avanti an dieser Stelle nicht bearbeiten kann, da er erst in
Verbindung
mit dem
( SUC "973.3" ) and
zu einer zulässigen Anfrage wird.
Also ist
find ( ( SUC "973.3" ) and ( ( SUC "35?" ) or ( not ( SUC "3?" ) ) ) )
nicht zu bearbeiten (eine Fehlermeldung wäre mal wieder hilfreich),
wohl aber
find ( ( ( SUC "973.3" ) and ( SUC "35?" ) )
        or ( ( SUC "973.3" ) and ( not ( SUC "3?" ) ) )

Die Anfrage
find ( SUC "973.3" ) or ( not ( SUC "35?" ) )
ist daher unzulässig.

Kann man bei der Neukompilierung von Avanti-x daran etwas machen?
Ich könnte mir vorstellen:
1. Anfragen der Form
    find  not ( SUC "3?" )
    zulässig machen:
    -- formal, so daß sie im weiteren abgearbeitet werden können,
        wenn sie in eine Obermenge eingebettet werden,
    -- tatsächlich, indem ihnen eine Ergebnismenge zugeordnet wird.
2. Das Problem durch eine Anwendung der Assoziativgesetze vor Auswertung
    der Anfrage umgehen, also intern
    find ( ( SUC "973.3" ) and ( ( SUC "35?" ) or ( not ( SUC "3?" ) ) ) )
    in
    find ( ( ( SUC "973.3" ) and ( SUC "35?" ) )
            or ( ( SUC "973.3" ) and ( not ( SUC "3?" ) ) )
    umwandeln.

Den derzeitigen Zustand finde ich unbefriedigend, zumal der Dokumentation
nichts genaues zu entnehmen ist.

Dies ist übrigens kein theoretisches Problem, sondern ein praktisches, das
bei der Zuordnung von DDC zu GOK-Notationen aufgetaucht ist. Praktisch
können wir es auch durch eine entsprechende Umstellung der Anfrage
(Auflösung nach Assoziativgesetz) lösen, nicht so leicht bei frei
definierten Suchanfragen. Dort müßte  ich eine der skizzierten Lösungen
selbst implementieren. Da dies Problem aber ein prinzipielles ist, fände
ich
eine zentrale Lösung sinnvoller.

Mit freundlichen Grüßen,
Thomas Fischer








Mehr Informationen über die Mailingliste Allegro