You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(22) |
Jul
(4) |
Aug
(9) |
Sep
(6) |
Oct
(5) |
Nov
(15) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(4) |
Feb
(10) |
Mar
(12) |
Apr
(16) |
May
(2) |
Jun
(7) |
Jul
(10) |
Aug
(9) |
Sep
(3) |
Oct
(17) |
Nov
(17) |
Dec
(6) |
2003 |
Jan
(12) |
Feb
(15) |
Mar
(25) |
Apr
(20) |
May
(8) |
Jun
(3) |
Jul
(21) |
Aug
(10) |
Sep
(7) |
Oct
(1) |
Nov
(3) |
Dec
(6) |
2004 |
Jan
(5) |
Feb
(16) |
Mar
(34) |
Apr
(26) |
May
(20) |
Jun
(58) |
Jul
(76) |
Aug
(51) |
Sep
(40) |
Oct
(16) |
Nov
(7) |
Dec
(6) |
2005 |
Jan
(10) |
Feb
(1) |
Mar
(17) |
Apr
(8) |
May
(11) |
Jun
(15) |
Jul
(1) |
Aug
(7) |
Sep
(6) |
Oct
(10) |
Nov
(14) |
Dec
(9) |
2006 |
Jan
(11) |
Feb
(22) |
Mar
(17) |
Apr
(1) |
May
(15) |
Jun
(9) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(10) |
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2008 |
Jan
(2) |
Feb
(1) |
Mar
(8) |
Apr
(8) |
May
(12) |
Jun
(9) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Richard W. <rw...@cs...> - 2001-06-17 11:53:57
|
Hey, Ok, here's an attempt. (lots of code follows :) Have a method: (1) protected TopicMap getTopicMap(String[] files) { XTMBuilder builder = new XTMBuilder(new TopicMapFactoryImpl()); XTMParser tmParser = new XTMParser(builder); SAXParser parser = new SAXParser(); parser.setContentHandler(tmParser); try { for (int nFile = 0; nFile < files.length; nFile++) { FileInputStream in = new FileInputStream(files[nFile]); InputSource src = new InputSource(in); parser.parse(src); } return builder.getTopicMap(); } catch (Exception ex) { ex.printStackTrace(); } return null; } ----------------------------------------------- Called with: (2) String[] files = { getObjectFileString("B.xml"), getObjectFileString("A.xml") }; TopicMap tm = tmm.getTopicMap(files); ----------------------------------------------- XTM Files: A.xml: (3) <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <topicMap xmlns="http://www.topicmaps.org/xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink" xml:base="http://ideabank.csir.co.za/A.xml"> <topic id="m"> <baseName> <baseNameString>M</baseNameString> </baseName> </topic> <topic id="n"> <baseName> <baseNameString>N</baseNameString> </baseName> </topic> <association id="m-n"> <member> <topicRef xlink:href="#m"/> </member> <member> <topicRef xlink:href="#n"/> </member> </association> </topicMap> ------------------------------------------------- And B.xml (4) <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <topicMap xmlns="http://www.topicmaps.org/xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink" xml:base="http://ideabank.csir.co.za/B.xml"> <topic id="test"> <baseName> <baseNameString>Test</baseNameString> </baseName> </topic> </topicMap> ----------------------------------------------------- If I use the above and print out the topic map, I get: (5) <?xml version="1.0" encoding="UTF-8"?> <topicMap xmlns="http://www.topicmaps.org/xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink" xml:base="http://ideabank.csir.co.za/B.xml"> <topic id="http://ideabank.csir.co.za/x1fbp0t5fb-a"/> <topic id="http://ideabank.csir.co.za/x1fbp0t5fb-4"> <baseName id="http://ideabank.csir.co.za/x1fbp0t5fb-5"> <baseNameString>N</baseNameString> </baseName> </topic> <topic id="http://ideabank.csir.co.za/x1fbp0t5fb-2"> <baseName id="http://ideabank.csir.co.za/x1fbp0t5fb-3"> <baseNameString>M</baseNameString> </baseName> </topic> <topic id="http://ideabank.csir.co.za/x1fbp0t5fb-0"> <baseName id="http://ideabank.csir.co.za/x1fbp0t5fb-1"> <baseNameString>Test</baseNameString> </baseName> </topic> <topic id="http://ideabank.csir.co.za/x1fbp0t5fb-8"/> <association id="http://ideabank.csir.co.za/x1fbp0t5fb-6"> <member id="http://ideabank.csir.co.za/x1fbp0t5fb-7"> <topicRef xlink:href="http://ideabank.csir.co.za/x1fbp0t5fb-8"/> </member> <member id="http://ideabank.csir.co.za/x1fbp0t5fb-9"> <topicRef xlink:href="http://ideabank.csir.co.za/x1fbp0t5fb-a"/> </member> </association> </topicMap> (which has an 2 extra topics, it seems for the association's topicRefs) ----------------------------------------- Whereas if I either: Load A first, using: (6) String[] files = { getObjectFileString("A.xml"), getObjectFileString("B.xml") }; (instead of String[] files = { getObjectFileString("B.xml"), getObjectFileString("A.xml") }; in (2) above) ------------------------------ OR Change the association in (3) to read: (7) <association id="m-n"> <member> <topicRef xlink:href="A.xml#m"/> </member> <member> <topicRef xlink:href="A.xml#n"/> </member> </association> (putting in the "A.xml" bit) ---------------------------------- I then get as output (8) <?xml version="1.0" encoding="UTF-8"?> <topicMap xmlns="http://www.topicmaps.org/xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink" xml:base="http://ideabank.csir.co.za/B.xml"> <topic id="http://ideabank.csir.co.za/x1fbp1bc1g-0"> <baseName id="http://ideabank.csir.co.za/x1fbp1bc1g-1"> <baseNameString>Test</baseNameString> </baseName> </topic> <topic id="http://ideabank.csir.co.za/x1fbp1bc1g-4"> <baseName id="http://ideabank.csir.co.za/x1fbp1bc1g-5"> <baseNameString>N</baseNameString> </baseName> </topic> <topic id="http://ideabank.csir.co.za/x1fbp1bc1g-2"> <baseName id="http://ideabank.csir.co.za/x1fbp1bc1g-3"> <baseNameString>M</baseNameString> </baseName> </topic> <association id="http://ideabank.csir.co.za/x1fbp1bc1g-6"> <member id="http://ideabank.csir.co.za/x1fbp1bc1g-7"> <topicRef xlink:href="http://ideabank.csir.co.za/x1fbp1bc1g-2"/> </member> <member id="http://ideabank.csir.co.za/x1fbp1bc1g-8"> <topicRef xlink:href="http://ideabank.csir.co.za/x1fbp1bc1g-4"/> </member> </association> </topicMap> ------------------------------------------- All of which tells me that the initial case (which produces (5)) creates two dummy topics for the association (and does not link to the existing "m" and "n") IF you load B first. If you either load A first, OR you specify the "A.xml#m" bit in the association, then it works fine. I've cut out any fiddling code in my app, so I'm pretty sure I'm not doing anything weird. I'm also using TM4J code I got on Friday off SF. Hope this helps! (and is reproducible) Rich > -----Original Message----- > From: tm4...@li... > [mailto:tm4...@li...]On Behalf Of Kal Ahmed > Sent: 15 June 2001 10:33 > To: tm4...@li... > Subject: RE: [TM4J-users] sequence of loading two files > > > Hi Rich, > > I've had a look into this and not quite figured out whats going wrong. If > both topic maps have an xml:base attribute specified, the XTMBuilder seems > to do the right thing and put the fragment identifiers on the xml:base > attribute value. If the topic maps do not have an xml:base attribute, then > the fragment identifiers get added to a default base URL > (http://topicmap.techquila.com/default). > > Perhaps I am missing something obvious here - do you have a sample of the > topic maps which cause this problem that I can have a look at ? > > Cheers, > > Kal > > > -----Original Message----- > > From: tm4...@li... > > [mailto:tm4...@li...]On Behalf Of Richard > > Watson > > Sent: 14 June 2001 21:58 > > To: TM4J Users > > Subject: [TM4J-users] sequence of loading two files > > > > > > Hi all, > > > > I'm getting a bit better at this stuff and things are working nicely. :) > > > > I've found something that looks a bit suspicious: > > > > File "A.xml" and file "B.xml" > > File A.xml has an association between #n and #m, both in A.xml. > > Both files have correct bases set. > > I load both into the same TopicMap using the XTMBuilder. > > > > Now...two cases: > > If I load A.xml into the builder and then B.xml, the > association will load > > fine. > > > > If I load B first, then the topicRefs in the association must > be "A.xml#n" > > and "A.xml#m", or they end up with resourcerefs "B.xml#n" and "B.xml#m". > > > > This a bug? > > > > Non-codey question of the day: where are you guys geographically? > > > > Cheers, > > Rich > > > > > > _______________________________________________ > > Tm4j-users mailing list > > Tm4...@li... > > http://lists.sourceforge.net/lists/listinfo/tm4j-users > > > > > > > _______________________________________________ > Tm4j-users mailing list > Tm4...@li... > http://lists.sourceforge.net/lists/listinfo/tm4j-users > |
From: Kal A. <ka...@te...> - 2001-06-15 20:33:31
|
Hi Rich, I've had a look into this and not quite figured out whats going wrong. If both topic maps have an xml:base attribute specified, the XTMBuilder seems to do the right thing and put the fragment identifiers on the xml:base attribute value. If the topic maps do not have an xml:base attribute, then the fragment identifiers get added to a default base URL (http://topicmap.techquila.com/default). Perhaps I am missing something obvious here - do you have a sample of the topic maps which cause this problem that I can have a look at ? Cheers, Kal > -----Original Message----- > From: tm4...@li... > [mailto:tm4...@li...]On Behalf Of Richard > Watson > Sent: 14 June 2001 21:58 > To: TM4J Users > Subject: [TM4J-users] sequence of loading two files > > > Hi all, > > I'm getting a bit better at this stuff and things are working nicely. :) > > I've found something that looks a bit suspicious: > > File "A.xml" and file "B.xml" > File A.xml has an association between #n and #m, both in A.xml. > Both files have correct bases set. > I load both into the same TopicMap using the XTMBuilder. > > Now...two cases: > If I load A.xml into the builder and then B.xml, the association will load > fine. > > If I load B first, then the topicRefs in the association must be "A.xml#n" > and "A.xml#m", or they end up with resourcerefs "B.xml#n" and "B.xml#m". > > This a bug? > > Non-codey question of the day: where are you guys geographically? > > Cheers, > Rich > > > _______________________________________________ > Tm4j-users mailing list > Tm4...@li... > http://lists.sourceforge.net/lists/listinfo/tm4j-users > > |
From: Kal A. <ka...@te...> - 2001-06-15 08:47:42
|
Hi Rich, > Hi all, > > I'm getting a bit better at this stuff and things are working nicely. :) > > I've found something that looks a bit suspicious: > > File "A.xml" and file "B.xml" > File A.xml has an association between #n and #m, both in A.xml. > Both files have correct bases set. > I load both into the same TopicMap using the XTMBuilder. > > Now...two cases: > If I load A.xml into the builder and then B.xml, the association will load > fine. > > If I load B first, then the topicRefs in the association must be "A.xml#n" > and "A.xml#m", or they end up with resourcerefs "B.xml#n" and "B.xml#m". > > This a bug? > It certainly looks like one - my guess is that it is a problem with XTMBuilder's algorithm for expanding fragment IDs and partial URLs - I'll have a look at that today. > Non-codey question of the day: where are you guys geographically? > I'm in London, enjoying our summer (both days of it ;-) Cheers, Kal |
From: Richard W. <rw...@cs...> - 2001-06-14 20:56:57
|
Hi all, I'm getting a bit better at this stuff and things are working nicely. :) I've found something that looks a bit suspicious: File "A.xml" and file "B.xml" File A.xml has an association between #n and #m, both in A.xml. Both files have correct bases set. I load both into the same TopicMap using the XTMBuilder. Now...two cases: If I load A.xml into the builder and then B.xml, the association will load fine. If I load B first, then the topicRefs in the association must be "A.xml#n" and "A.xml#m", or they end up with resourcerefs "B.xml#n" and "B.xml#m". This a bug? Non-codey question of the day: where are you guys geographically? Cheers, Rich |
From: Richard W. <rw...@cs...> - 2001-06-12 17:00:50
|
> is that the problem you are having, or is there something else that I'm missing ? spot on. thanks for the hints. Rich |
From: Kal A. <ka...@te...> - 2001-06-12 16:44:52
|
Hi Rich, > > Nope, it was a bug. Thanks for the report. > > No problem, great to get such speedy replies. > > I need to sort out the external-xlinked files trick referred to > in my first > mail. Could you point me at the best place to do it and I'll have a go at > stitching it myself? I'll send you the code rather than do the CVS thing > right now. If it's being done already, I'll happily wait. :) > I think that should now be fixed in CVS. The fix was to make the dummy topic get the URI of the referenced topic as its resourceID property. Now, what I haven't checked is if the engine then correctly merges the dummy topic with the real thing when it is encountered - is that the problem you are having, or is there something else that I'm missing ? > My application design needs: > a) One file with definitions of various topic types such as idea > and person. > b) One file with a basic structure that all people share, and refers to > topic in a). > c) A file per person who wants to design their own structures. They might > refer to topics in a) and later to each other. > > I could fiddle the design but I quite like it. :) Looks good to me! I would suggest that you create Published Subject Identifiers for the topics types declared in (a) - that way it is possible to create a reference like this: <topic> <instanceOf><subjectIndicatorRef xlink:href="http://psi.csir.com/mindmap/idea"></instanceOf> <baseName><baseNameString>My Cool Idea</baseNameString></baseName> </topic> Note that the URI does not have to resolve to another topic, but when a topic such as: <topic> <subjectIdentity><subjectIndicatorRef xlink:href="http://psi.csir.com/mindmap/idea"></subjectIdentity> <baseName><baseNameString>Idea</baseNameString></baseName> </topic> is found in a topic map, then the dummy topic created for the type of the first topic should get merged with the second topic. As I type this, I start to feel less and less sure that TM4J actually *does* this...if it doesn't, the code at fault will be in XTMBuilder.java - when processing a reference which is found to be a subjectIndicatorRef, it should: a) See if it already has a topic with that subject indicator - if so, use that for the type and we are done b) Create a dummy topic, assign it an object ID (assignID() should generate something unique) and **then add the subjectIndicatorRef reference as a subject indicator of the dummy topic**. Its that bit between the ** which I have a suspicion might be missing - I'm not able to take a look at this till tomorrow now, but if this is a problem and you find and make the change, I would be happy to receive it in email. Cheers, Kal > (feel free to suggest alternatives, but this looks pretty scaleable and > quite compatible with the general web-vibe) Yes, absolutely, and workable in a peer-to-peer architecture too. Cheers, Kal |
From: Richard W. <rw...@cs...> - 2001-06-12 16:16:16
|
> Nope, it was a bug. Thanks for the report. No problem, great to get such speedy replies. I need to sort out the external-xlinked files trick referred to in my first mail. Could you point me at the best place to do it and I'll have a go at stitching it myself? I'll send you the code rather than do the CVS thing right now. If it's being done already, I'll happily wait. :) My application design needs: a) One file with definitions of various topic types such as idea and person. b) One file with a basic structure that all people share, and refers to topic in a). c) A file per person who wants to design their own structures. They might refer to topics in a) and later to each other. I could fiddle the design but I quite like it. :) (feel free to suggest alternatives, but this looks pretty scaleable and quite compatible with the general web-vibe) Thanks, Rich |
From: Kal A. <ka...@te...> - 2001-06-12 08:33:24
|
Hi Richard, > I'm still getting to grips with ID-related stuff. Is there any way to get > hold of the ID for an association as specified in the topic map file? It > seems the resource id for an association is null, or is it just my iffy > file? > Nope, it was a bug. Thanks for the report. There is a fix now in CVS which fixes this immediate problem and a bug reported for the bigger issue of not being able to retrieve objects other than Topics and Associations by ResourceID. HOWEVER: part of this fix required a change to the TopicMap interface, which means that the Ozone implementation needs updating now as well, so only update if you are using the in-memory implementation. > While I'm about it: how much time do you spend working on the TM4J API per > month/week? It has to be quite tough combining it with day to > day work, I'm > guessing. > It varies quite a lot - mostly depending on work. It also depends to some extent on getting quality bug reports such as you have provided - otherwise its easy to get complacent and think that the job is done ;-). I'm now freelancing, so hopefully that should provide me with a little extra time to work on TM4J than I have had recently. Cheers, Kal > (01:15 monday morning and the coffee is finished, so I guess am I :) 9:00am before the first coffee of the day. All typos are due to caffeine deprivation ;) |
From: Richard W. <rw...@cs...> - 2001-06-10 23:17:35
|
Hi guys, I'm still getting to grips with ID-related stuff. Is there any way to get hold of the ID for an association as specified in the topic map file? It seems the resource id for an association is null, or is it just my iffy file? While I'm about it: how much time do you spend working on the TM4J API per month/week? It has to be quite tough combining it with day to day work, I'm guessing. Thanks, Rich (01:15 monday morning and the coffee is finished, so I guess am I :) |
From: Kal A. <ka...@te...> - 2001-06-06 15:18:58
|
Hi Richard, > Looks like a lot of work has gone into TM4J! Keen to get into it... Welcome on board! ;-) > Quick introduction: > My name is Richard Watson, I work for a research company in South Africa > called the CSIR. We're playing around with TM4J for an internal prototype > project, essentially a storage bank for ideas. Using TM's as a > network for > finding related info. > > I'm not sure how keen you are on questions, but here are a few: > We love questions! They remind us that we need to write docs! :-) > 1) ID's. On importing a topic map using: > > FileInputStream in = new FileInputStream(file); > InputSource src = new InputSource(in); > parser.parse(src); > > TopicMap tm = builder.getTopicMap(); > > we end up with all the topic id's changed. Is there any way to preserve > id's? Thats kind of deliberate because you can load multiple XTM files into a single TM4J topic map - if you do this, of course the individual topic ID attribute value becomes meaningless. However, the full URL of the topic is preserved and can be accessed using getResourceID() (this is in the TopicMapObject interface). So that means that theoretically, it should be possible to round trip a topic map and preserve ids by writing an export class that uses the resourceID property rather than the ID property of the objects to create the ID attribute value. The TopicMap interface also has a getObjectsByResourceID() function so that you can do lookups based on the (full) URL of the imported object. > > 2) If a topic is an instance of a topic that is in another file, > how should > we handle that? It seems to create a dummy topic, but doesn't store the > xlink anywhere. That is probably a bug. The XTMBuilder class creates 'stub' topics whenever it encounters a reference to a topic which it hasn't yet parsed. These stubs are then replaced by the 'real thing' when it is encountered in the input stream. Of course, if the 'real thing' is in another file, then the builder won't replace the stub. Ideally, I think that the resourceID of the stub topic should be set to the URL of the topic that wasn't found during the parse - and that should probably happen at the end of the parse when the builder is left with a list of unresolved stubs. > > I'm sure I'll have a few more over the next while. :) > Fire away ! Cheers, Kal |
From: Richard W. <rw...@cs...> - 2001-06-06 14:14:57
|
Hi guys, Looks like a lot of work has gone into TM4J! Keen to get into it... Quick introduction: My name is Richard Watson, I work for a research company in South Africa called the CSIR. We're playing around with TM4J for an internal prototype project, essentially a storage bank for ideas. Using TM's as a network for finding related info. I'm not sure how keen you are on questions, but here are a few: 1) ID's. On importing a topic map using: FileInputStream in = new FileInputStream(file); InputSource src = new InputSource(in); parser.parse(src); TopicMap tm = builder.getTopicMap(); we end up with all the topic id's changed. Is there any way to preserve id's? 2) If a topic is an instance of a topic that is in another file, how should we handle that? It seems to create a dummy topic, but doesn't store the xlink anywhere. I'm sure I'll have a few more over the next while. :) Thanks very much, Richard |
From: Kal A. <ka...@te...> - 2001-05-24 10:52:01
|
test tm4j-users |