Hello!

I am thinking about writing a system, using which it is possible to store
information about the structure of a bureaucratic system. 
  
Coarse-grained features of the program include: 
  
1) The program should allow the user to enter the hierarchy (like: authority X
has a board of Y members, each of them has Z departments under his/her control
etc) of a governmental organization 
  
2) The program should visualize the hierarchy in form of a tree 
  
3) It should be possible to enter information about what areas of public
administration a particular civil servant is responsible for. In other words:
If things go wrong in some domain, controlled by the government, the user
should be able to figure out, who is responsible for that mess. 
  
My first idea was to use a relational database for storing this information.

However, a relational database may be inefficient due to the complexity of the
data structure.

At the moment, I think that it makes more sense to store the data in form of
facts (not tables as in relational database).

I mean that one is able to enter statements like (this is PROLOG syntax)

isOrganization(X).
hasBoard(X, Members) :- isOrganization(X),
        isList(Members).
civilServant(X).
isResponsibleFor(X, Y) :- civilServant(X),
        domain(Y).

and then run queries, using which one can find out, which organizations are
there, what members they have etc.

Can one do this in Haskell?

Thanks in advance

Dmitri Pissarenko
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to