demexp-dev
[Top][All Lists]
Advanced

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

[Demexp-dev] [technology preview] Using LISFS to navigate into demexp cl


From: David MENTRE
Subject: [Demexp-dev] [technology preview] Using LISFS to navigate into demexp classification
Date: Wed, 04 Jan 2006 23:14:07 +0100
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.4 (gnu/linux)

Hello,

I have made an experiment to show how LISFS could be used to navigate
and build classification. For this, I created a file hierarchy
corresponding to the current classification in the demo server[1] over a
LISFS real file system[2].

==AN EXAMPLE OF EXPLORATION==

So at LISFS root, I can do a 'ls':

address@hidden:~/pub/lisfs/mounted$ ls -F
00-pool/                                    propagande/    question 200/
admin/                                      question 104/  question 202/
aéroports/                                  question 108/  question 204/
âge limite/                                 question 113/  question 205/
agriculture/                                question 117/  question 206/
alimentation/                               question 118/  question 207/
anglais/                                    question 119/  question 208/
anglais-français/                           question 129/  question 209/
antonyme/                                   question 130/  question 21/
armée/                                      question 131/  question 210/
armes/                                      question 132/  question 211/
association/                                question 133/  question 212/
automobile/                                 question 134/  question 213/
[...output cut...]

I can navigate into a tag, to see question and other tags attached to
it:

address@hidden:~/pub/lisfs/mounted$ cd Rennes/

address@hidden:~/pub/lisfs/mounted/Rennes$ ls -F
association/                                                           
expérience démocratique/
demexp/                                                                
financement/
Doit-on créer une piste cyclable à contre-sens quai de la Prévalaye ?  
financement demexp/
élection/                                                              question 
179/
esthétique/

You can see two things:

 1. question "Doit-on ... Prévalaye ?" as only tag "Rennes", so no
    further exploration is possible and the question is presented as a
    file (see below);

 2. other sub-directories are shown, that show additional tags to make a
    research.

You can see the content of the question "Doit-on ... Prévalaye ?":

address@hidden:~/pub/lisfs/mounted/Rennes$ cat Doit-on\ créer\ une\ piste\ 
cyclable\ à\ contre-sens\ quai\ de\ la\ Prévalaye\ \? 
46: Doit-on créer une piste cyclable à contre-sens quai de la Prévalaye ?
Tags:['Rennes']
Responses:
   - Question rejected
   - non
   - oui, en supprimant le trotoire qui longe le quai
   - oui, en supprimant les places de stationnement
   - Oui, à condition que l'expérience démocratique détienne la majorité du 
conseil municipal de Rennes et en réduisant l'espace de circulation voitures

But you can also refine your search by 'cd' and 'ls' in the file
hierarchy:

address@hidden:~/pub/lisfs/mounted/Rennes$ cd expérience\ démocratique/

address@hidden:~/pub/lisfs/mounted/Rennes/expérience démocratique$ ls -F
association/  demexp/  élection/  financement/  financement demexp/

address@hidden:~/pub/lisfs/mounted/Rennes/expérience démocratique$ cd demexp/

address@hidden:~/pub/lisfs/mounted/Rennes/expérience démocratique/demexp$ ls -F
Dans quelle banque l'association de financement de demexp doit-elle ouvrir son 
compte ?

And we can show the content of the only question:

address@hidden:~/pub/lisfs/mounted/Rennes/expérience démocratique/demexp$ cat 
Dans\ quelle\ banque\ l\
'association\ de\ financement\ de\ demexp\ doit-elle\ ouvrir\ son\ compte\ \? 
50: Dans quelle banque l'association de financement de demexp doit-elle ouvrir 
son compte ?
Tags:['exp\xc3\xa9rience d\xc3\xa9mocratique', 'financement', 'financement 
demexp', 'demexp', 'association', 'Rennes']
Responses:
   - Question rejected
   - Le Crédit mutuel de Bretagne
   - La Nef (à l'agence du Crédit coopératif de Rennes)
   - Le Crédit coopératif (agence de Rennes)
   - La poste (ils exigent que ce soit dans le bureau de poste du siège social 
de l'association)
   - 2
   - Le Crédit Agricole

You can notice an important property of LISFS: question 50 has 6 tags
but only 3 are needed to reach the question. For example, tag
'financement' is no longer discriminatory as soon as we have entered the
"Rennes/expérience démocratique/demexp" directory, so it is not shown as
sub-directory.

LISFS theory and code allow also to modify the hierachy dynamically,
while searching. This is quite powerful: you can navigate, find that the
classification needs some modification and modify it lively!

Moreover, typed attributes can be attached. For example question
identifiers can be attached to a question and one could do:

 cd qid:>10/qid:<20/   # to see questions #11 to #19

LISFS also support classification hierarchy. So we could have a tag
"Cities" that contains "Rennes", "Bruxelles", ... At the upper level,
only Cities/ directory would be displayed.


==REMAINING WORK==

This is just an dummy example, the real server classification cannot be
explored and modified through this system. And some details need to be
worked out, like not displaying the "question NNN" tags. But all the
OCaml code is available, freely (GPL license), so this is "just" a
question of writing proper gluing code. ;)

What do you think of it? Do you find the system appealing or does it
seems to you too much complicated?

Regarding architecture, I'm wondering if putting such a system into the
server couldn't be very useful: every client (even Python scripts! ;)
could use this system.

Best wishes,
d.

PS: "[technology preview]": yes, I'm reading for the marketing
    department. :)

Footnotes: 
[1]  I have used a Python script (well, rather a hack) using Thomas'
     pydemexp toolkit for this. It's very useful Thomas!

     Here is the used pydemexp script:

Attachment: make-directories.py
Description: Text document

[2]  I can provide LISFS code if needed.

-- 
pub  1024D/A3AD7A2A 2004-10-03 David MENTRE <address@hidden>
 5996 CC46 4612 9CA4 3562  D7AC 6C67 9E96 A3AD 7A2A

reply via email to

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