Post by Aayush PuriThanks a lot for yr feedback Lars and Richard....
I guess I didn't explain my problem well. Let me give it another
shot.
What I am supposed to do is to design and implement a system that is
able to generate topic maps from a given set of data...lets suppose
that the data is stored in some database. Also I have a complete list
of the topics given to me. Now I need to "study" the given datasets
and derive relationship between the list of given topics. As I was
also expected and as Lars suggested that may be some NLP techniques
need to be used.
Richard I know that it may be somewhat simple to transform XML to XTM
but the problem after reading some data source how do I set the
relationships(associations) between the topics??
Suppose I read a text "Shakespeare authored Merchant of Venice"....and
in the list of given topics I have "Shakespeare" and "Merchant of
Venice". Now after reading the aformentioned sentence I must be able
to set associations of "authored_by" and "authored" so that the topic
map is able to say not only that "Shakespeare authored Merchant of
Venice" but also "Merchant of Venice was authored by Shakespeare"
Aayush,
I'm now even less clear about what form your data takes (!) Your
original question concerned a "database": to me that would suggest
relational tables, normalization of data, etc. That is a very different
thing from a text in which you read that "Shakespeare authored Merchant
of Venice".
If it really is just textual sources that you are working from, I would
concur with Lars' suggestion of an NLP approach (and good luck!).
However, if you do have a database structure it should be possible to
work at a higher, more effective level.
A database schema embodies a set of assertions about the data it holds.
If, for example, you had a two-column table with fields "Playwright" and
"Play" containing the row
"Shakespeare", "Merchant of Venice"
then from the database schema itself you can define the topics
"playwright" and "play" in your topic map. The row itself gives you two
more topics: "Shakespeare" and "Merchant of Venice", and the database
schema infers an association between the two. The two-way linking you
are asking about at the end of your reply is achieved within a single
association, by defining the role that each topic plays in the
association: Shakespeare is linked in the role "playwright", and
Merchant of Venice in the role "play".
The point here is that you can apply the same logic to every single row
in the table, and programmatically derive N associations (and
2N-minus-duplicates topics) from an N-row table. This is how deriving
topic maps from a database can potentially become quite efficient.
Richard
--
Richard Light
SGML/XML and Museum Information Consultancy
***@light.demon.co.uk