Holger, Added a few lines of code to insert baseURI comment statements when writing models. The result is fantastic: the baseURI scan on new models is so fast it is imperceptible and TBC now launches in under 7 seconds.
It looks like the baseURI comment is only used in the N3 and N-TRIPLE language formats, so I need to restrict the inserted comments to these. Right? thanks Arthur On Mar 19, 2009, at 10:04 PM, Holger Knublauch wrote: > > The file head is already being scanned, but right now the code stops > at the first @prefix declaration. We could in theory check for a > default namespace, but this is not always present and just a heuristic > to find the base URI. > > Holger > > > On Mar 19, 2009, at 7:36 PM, Arthur Keen wrote: > >> >> They are n3 files. I like your idea of scanning the file head. Would >> this be as simple as scanning for #baseURI or PREFIX : and if that >> does not exist go through the rest of the file? >> >> A >> >> Sent from my iPhone >> >> On Mar 19, 2009, at 7:31 PM, Holger Knublauch >> <[email protected]> >> wrote: >> >>> >>> Hi Arthur, >>> >>> yes this is a problem. TBC scans the whole workspace at start-up to >>> discover the base URIs of each file so that other files that import >>> that base URI get redirected to the local file instead of going to >>> the >>> web. >>> >>> With files created (or at least saved) with TBC, this is normally no >>> problem, because they will contain the #baseURI comment in the >>> beginning and scanning can then proceed without loading the whole >>> file. >>> >>> Files created with other tools may not have this convention (or >>> contain @base which Jena currently does not support; see other >>> thread >>> recently). Then, TBC needs to decide whether it should try to load >>> it >>> to learn about its base URI (which is normally an instance of >>> owl:Ontology). We currently do this, and this is the problem with >>> large files that you discover. I could add an option to switch this >>> behavior off, but then those files will known under a different >>> (more >>> or less meaningless file:/// baseURI). Nor will it be clear to the >>> user what happens. Another solution might be to try to just load the >>> first few lines of the file. I need to think about better solutions. >>> >>> In the meantime, yes please add the #baseURI comment to your files >>> when you generate them. >>> >>> Are these NT or N3 files? >>> >>> Thanks >>> Holger >>> >>> >>> >>> On Mar 19, 2009, at 4:10 PM, Arthur wrote: >>> >>>> >>>> As I generate larger model files (using Jena to parse proprietary >>>> reservoir model files) and save them in Composer's namespace, it >>>> takes >>>> Composer longer and longer to scan for the baseURI, often several >>>> minutes, before I can open them in Composer. Using a text >>>> editor, I >>>> can see that Composer alters the freshly generated model files when >>>> it >>>> scans them and puts in metadata comments (#Saved >>>> by...#baseURI...#imports...). So Composer is reading and writing >>>> the >>>> model files to add these comments to the header when it scans. >>>> >>>> Since acquiring these large files, Composer also takes over 10 >>>> minutes >>>> to launch. I assume it is scanning for base URI's in all the files >>>> in >>>> the workspace. >>>> >>>> What can I do to avoid this, beyond the obvious reduction in file >>>> size? Would it help to insert the (#Saved >>>> by...#baseURI...#imports...) comments whenthe models are created or >>>> is >>>> there a statement I can add to a model so that composer can quickly >>>> locate the baseURI? >>>> >>>> Thanks >>>> >>>> Arthur >>>>> >>> >>> >>>> >> >>> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TopBraid Composer Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/topbraid-composer-users?hl=en -~----------~----~----~----~------~----~------~--~---
