MARCXML to Topic Maps implementation!

Aki Kivela <[email protected]>
Newsgroups gmane.text.xml.xtm.general
Message-ID <[email protected]>

Hello

I have been busy few days hacking a wrapper transformation for MARCXML 
and haven't had time to follow the vivid discussion on this subject. I 
must applause all you partakers.

To continue, a working wrapper transformation is now available for 
limited audience. Emphasis is on word 'wrapper' as the transformation 
tries to model MARC and leaves data in fields intact. If you are 
interested in trying to transform your MARCXML data to topic maps, 
download Wandora application at

http://www.wandora.org/wandora/download/wandora-marc.zip

Unzip it, run it, and start MARCXML extractor with menu option
File > Extract > Bibliographical > MARC XML Extractor...
A dialog opens. For a quick try select Urls tab and enter address

http://www.loc.gov/standards/marcxml/xml/collection.xml

and hit Extract button. After extraction you should see a topic named 
MARC on the left just under Wandora class topic. Open it and you'll see 
subcategories of

* Data (MARC) containing all field data. Each field data topic has a 
generated subject identifier. Base name is a slightly modified field 
data, and original fied data is as occurrence.
* Field (MARC) contains all association types used in extraction. Each 
association type topic represents single field type (or tag) in MARCXML 
document. To increase readability, field type codes follow a textual 
name of the field.
* Ind1 (MARC) contains (first) indicators used in MARCXML. Naming of 
Ind1 topic follows a pattern

<indicator-value-in-xml-attribute>@<field-code>#ind<number-of-indicator>

* Ind2 (MARC) contains (second) indicators used in MARCXML with a 
similar naming.
* Record (MARC) contains extracted records i.e entities the MARCXML is 
describing. One should note that current extraction model doesn't try to 
figure out subject indetifier nor base name for records. One could say 
records are defined entirely using their associations.
* Subfield code (MARC) contains used subfields of extracted MARCXML. In 
topic map there are major roles used in associations.

Generally the conversion follows a procedure:

When a record is found
   Create a topic for the record
   For each field in the record
      Create an association where association type is field code
      For each subfield
         Create a role topic using subfield code
         Create a player topic using subfield value
         Add created player and role to the association
      If a field has an indicator
         Add it to the association as a player with a static role

Simple as that.
As Alex has expressed several times, it is clear that there is a lot of 
information hidden in the field topics in the form of semistructured 
text. Now, the next questions is, what kind of tools do I need to 
postprocess these topics in order to distill the relevant information out.

If you are not interested in installing Wandora but would like to 
investigate a resulting topic map, I have zipped an example to

http://www.wandora.org/wandora/download/other/marc2topicmap_example.zip

As the transformation was programmed very fast some obvious details may 
be missing, it may contain bugs etc. Evident limitation is that a field 
can not have multiple subfields with identical subfield code.

As always, comments and ideas are more than welcome.

Kind Regards,
Aki / Wandora Team

p.s. Notice, the Wandora application download link provided above is 
*not* the link you find in Wandora Wiki. Neither can you find any 
documentation about the feature on Wandora Wiki. We'll release the 
MARCXML to Topic Maps transformation later in official Wandora version.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.