Fwd: CDAO term inclusion community process

14 views
Skip to first unread message

Rutger Vos

unread,
Jun 5, 2009, 3:58:43 AM6/5/09
to PhyloWS Forum
Hi,

Can we work along a use case? I've just committed some code to import
and export nexml (with annotations) into mesquite using the
hackathon's nexml/java API. To run it, here's what you do (ok, just
play along - you don't *have* to build this):

* svn co https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/java
* cd java
* export CLASSPATH=$CLASSPATH:/path/to/Mesquite_Folder
* ant mesquite

Then, inside your Mesquite_Folder, either create or edit your
classpaths.xml file, which should contain an entry that points to the
bin folder that the ant task created:

<?xml version="1.0"?>
<mesquite>
           <!-- perhaps other classpath entries here -->
       <classpath>/path/to/java/bin</classpath>
</mesquite>

Now, start mesquite and open this url from within mesquite (File >
Open other... > URL...):

http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.nex

You'll see a tree with some dummy URLs on the terminal nodes. If you
look in the nexus "source" you can see these URLs are written in the
notes block. If you now choose file > export, NeXML should be one of
the options so you can write hyperlink.xml out to a file. The produced
output should look like this:

http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.xml

The salient point of the output is the annotation attached to otu elements:

<meta href="http://8ball.sdsc.edu:6666/treebase-web"
  rel="cdao:has_External_Reference" [...other attributes are
irrelevant for now...] />

According to the RDFa rules, we can just use the "href" attribute to
store a url, and the "rel" attribute will describe the relationship
between the subject (the earliest enclosing element that has an
"about" attribute) and the resource on the other end. I *think* we
agreed that such a simple relationship could be described as
has_External_Reference, we use it on the wiki and I've found it in the
CDAO owl file.

So what about other annotations? You can see in the produced nexml
that mesquite is also storing internal object IDs to various
predicates under the msq: namespace prefix (i.e. msq:taxaUID,
msq:taxonUID and msq:treeUID). Can we have something like these as
properties in CDAO? The TreeBASE2 team has been sketching out some
service queries which we would like to implement, and we want the
search fields we expose be mediated by CDAO. One of the obvious search
fields would be something like cdao.treeUID, where perhaps the value
would be a namespaced id string (TreeBASE:Tr3242, for example).

Can we have something like that? I like Hilmar's suggestion of being
able to put it in a queue somewhere, but I would be very interested to
see what Brandon comes up with for term suggestion interface -
obviously it will be better for all involved if the term suggestion
was as specific as possible, perhaps already fitted into CDAO's class
hierarchy (as opposed to a rambling email like this one).

Rutger

On Thu, Jun 4, 2009 at 8:20 AM, Arlin Stoltzfus<stol...@umbi.umd.edu> wrote:
> We're listening.  Brandon has developed a term-request server to process
> requests for concepts and relations, but its still in an early stage.  In a
> few weeks we will be in a better position to have this discussion.
>
> Arlin
>
> On May 29, 2009, at 10:31 AM, Rutger Vos wrote:
>
>> Hi,
>>
>> I've done enough experimentation to establish the correct syntax for
>> attaching valid RDFa attachments to nexml so that standard RDFa
>> extractors can turn <meta/> elements - the new dictionaries - into RDF
>> triples. I've implemented this in the java and perl APIs (Jeet: I hope
>> that the examples I've mailed out give you enough of a template to do
>> this in python too, but please let me know of I can help - I know that
>> the wiki needs updating, for starters).
>>
>> The key issue now is the definition of predicates, i.e. the value of
>> the @property and @rel attributes. Over the course of many EvoInfo
>> discussions it's been decided that CDAO will be the principal artifact
>> for their mediation - so what's the community process for inclusion of
>> new predicates?
>>
>> Val and I have sketched out a couple of TreeBASE services whose search
>> keys should be part of a controlled vocabulary (things like tree.id,
>> tree.label, etc.), and this is just one use case of a project having a
>> potentially large number of predicates (other example: Mesquite).
>>
>> It would be great if team CDAO could tell us where to send our list of
>> proposed terms and where we can download an amended version of CDAO
>> that includes them :-)
>>
>> I note that there is a wiki page about this
>> (https://www.nescent.org/wg_evoinfo/CDAO_term_request), but ideally
>> there would be some sort of issue tracker with structured input fields
>> (e.g. subject/predicate/object name="XXX", suggested superclass="YYY",
>> suggested datatype(s)="ZZZ", description="..."). Behind this tracker
>> would be a team of curators that will promptly pick up a posted issue
>> and work towards a solution.
>>
>> I realize that this involves a support commitment from team CDAO, but
>> I think that's what we agreed to over free-form key/value pairs,
>> homegrown vocabularies or a BioMoby-like free-for-all.
>>
>> Any comments?
>>
>> Rutger
>>
>> --
>> Dr. Rutger A. Vos
>> Department of zoology
>> University of British Columbia
>> http://www.nexml.org
>> http://rutgervos.blogspot.com
>
>

--
Dr. Rutger A. Vos
Department of zoology
University of British Columbia
http://www.nexml.org
http://rutgervos.blogspot.com

--
Dr. Rutger A. Vos
Department of zoology
University of British Columbia
http://www.nexml.org
http://rutgervos.blogspot.com

Hilmar Lapp

unread,
Jun 6, 2009, 1:27:05 PM6/6/09
to Rutger Vos, Arlin Stoltzfus, TreeBASE Developers, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, phy...@googlegroups.com

On Jun 5, 2009, at 3:53 AM, Rutger Vos wrote:

> You can see in the produced nexml that mesquite is also storing
> internal object IDs to various predicates under the msq: namespace
> prefix (i.e. msq:taxaUID,
> msq:taxonUID and msq:treeUID). Can we have something like these as
> properties in CDAO? The TreeBASE2 team has been sketching out some
> service queries which we would like to implement, and we want the
> search fields we expose be mediated by CDAO.

I think that's a good starting point but the way I'm thinking about
this at present the "standard" context set (i.e., vocabulary) for
PhyloWS finder queries would be informed by (and possibly directly
import from) CDAO, but would not be CDAO itself but rather a separate
compact vocabulary.

That's because CDAO (in my understanding) is an ontology meant to
formalize our current knowledge about evolutionary substrates,
processes, phenomena, and data, and how these relate to each other.
That's different from a compact metadata vocabulary that people browse
through to quickly identify the suitable term(s) for their query.
PhyloWS needs the latter, but doesn't in fact need the former. (Though
the data it returns will be better interpretable if it is
comprehensively annotated with CDAO.)

Having said that, I don't think that diminishes in any way the need
for a formal, documented, and agreed upon procedure for requesting
CDAO term and relationship additions and modifications by the community.

> [...] Can we have something like that? I like Hilmar's suggestion of

> being
> able to put it in a queue somewhere, but I would be very interested to
> see what Brandon comes up with for term suggestion interface -
> obviously it will be better for all involved if the term suggestion
> was as specific as possible, perhaps already fitted into CDAO's class
> hierarchy (as opposed to a rambling email like this one).


Note that this can be solved by conventions - in the end it is humans
that need to look at this anyway, not machines. Almost all the OBO
Foundry ontologies use the tracker system I believe, and there are
quite a few of them, so there's some evidence that it can work.

Another example is Darwin Core, which uses the Google Code issue
tracker and pre-defined templates (try to create a new issue and
choose new term):
http://code.google.com/p/darwincore/wiki/SubmittingIssues

-hilmar

--
===========================================================
: Hilmar Lapp -:- Durham, NC -:- hlapp at duke dot edu :
===========================================================


Hilmar Lapp

unread,
Jun 6, 2009, 6:59:20 PM6/6/09
to Rutger Vos, TreeBASE Developers, Arlin Stoltzfus, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, phy...@googlegroups.com

On Jun 6, 2009, at 3:57 PM, Rutger Vos wrote:

>> I think that's a good starting point but the way I'm thinking about
>> this at present the "standard" context set (i.e., vocabulary) for
>> PhyloWS finder queries would be informed by (and possibly directly
>> import from) CDAO, but would not be CDAO itself but rather a separate
>> compact vocabulary.
>

> So we're going to have xmlns:pws="http://www.phylows.org#"
> property="pws:taxonUID"?

You mean in NeXML? You could, using CDAO terms will be preferred if
available, because they will better support inferencing.

I.e., querying with PhyloWS-vocabulary terms does not and should not
imply that you get back only results that have PhyloWS-vocabulary
annotations. It is up to the implementing server to determine which
data and annotation attributes to match a particular PhyloWS-
vocabulary term with.

> Fine by me, but I guess we need to come up with a way to collect
> those terms, no? Would it make sense to just have a google excel
> sheet or something to put them in?

Sure, that's a good idea - go ahead, and we can add columns for
comments, etc.

Hilmar Lapp

unread,
Jun 8, 2009, 7:18:45 AM6/8/09
to Rutger Vos, TreeBASE Developers, Arlin Stoltzfus, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, PhyloWS Forum

On Jun 6, 2009, at 6:59 PM, Hilmar Lapp wrote:

>> Would it make sense to just have a google excel
>> sheet or something to put them in?
>
> Sure, that's a good idea - go ahead, and we can add columns for
> comments, etc.


BTW we could also create a page under the group. I've now also enabled
a wiki for TreeBASE development (see [1], also linked under "Hosted
Apps"), where such things could be built more collaboratively.

Hilmar Lapp

unread,
Jun 8, 2009, 7:34:30 AM6/8/09
to Rutger Vos, TreeBASE Developers, Arlin Stoltzfus, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, PhyloWS Forum
So it seems I'm not disciplined enough yet for putting the URLs in
citations ... here goes.

[1] http://apps.sourceforge.net/mediawiki/treebase/index.php?title=Main_Page

Rutger Vos

unread,
Jun 10, 2009, 7:07:01 AM6/10/09
to Wayne Maddison, Hayden, Katherine M., TreeBASE Developers, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, phy...@googlegroups.com
Hi,

Wayne, thanks for chiming in - I changed the way the properties file
is loaded a little bit (sorry I left the absolute paths in
previously!). Kasia, could you try the following,

- assuming $NEXMLTRUNK is your local equivalent for
https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/
- assuming $MESQUITE_FOLDER is your local equivalent for
http://svn.mesquiteproject.org:8080/repository/mesquite/trunk/Mesquite%20Project/Mesquite_Folder/

* cd $NEXMLTRUNK/java
* export CLASSPATH=$CLASSPATH:"$MESQUITE_FOLDER"
* ant mesquite
* pico "$MESQUITE_FOLDER/classpaths.xml"
* add an entry in classpaths.xml:
<classpath>$NEXMLTRUNK/java/bin/</classpath>, where $NEXMLTRUNK must
be substituted for the real path (either relative or absolute) to the
bin folder in which ant placed the compiled classes. Attached is how I
have it, which works when you check the mesquite trunk and the full
nexml code (trunk and branches) in the same folder (for me that's
~/Documents/workspace but it shouldn't matter)

Now, when Mesquite starts up, could you copy and paste what happens in
the log window when you read the local version of this file:
$NEXMLTRUNK/examples/translations/hyperlink.xml

Hope this helps!

Rutger

On Tue, Jun 9, 2009 at 8:36 PM, Wayne
Maddison<wmad...@interchange.ubc.ca> wrote:
> Sorry, I haven't been following this, but, classpaths.xml should be
> in the Mesquite_Folder that initiates Mesquite starting up.  To see
> if it's being read, include a line like:
>
>  <classpath>../../MySideProject/Mesquite_Folder</classpath>
>
>
> in which case the log should say something like this:
>
> =====
> Modules loading from directory
> /Users/wmaddisn/Mesquite_Workspace/Mesquite
> Project/Mesquite_Folder/Mesquite (500MB).app/../mesquite/
>
>  ancstates basic categ charMatrices charts cont genesis io lists
> minimal parsimony stochchar trees align assoc batchArch coalesce
> consensus correl distance diverse dmanager mb meristic molec
> ornamental pairwise rhetenor search tol treefarm iText jama jsci pal
> trunk
>
> Additional modules loaded from
> /Users/wmaddisn/Mesquite_Workspace/MySideProject/Mesquite_Folder
> =====
>
> However, this puts the paths in Java's classpath.  I suspect this may
> not help with the .properties file; this may use a different sense of
> application's path.  With pPod communication I seem to recall that
> some of the auxiliary files had to live in your initiating
> Mesquite_Folder.
>
> Wayne
>
>
> At 5:53 PM -0400 9.6.2009, Hayden, Katherine M. wrote:
>>Content-type: multipart/alternative;
>>  boundary="Boundary_(ID_3C+aqoD18lMP5R4IySZZ/g)"
>>Content-class: urn:content-classes:message
>>
>>Sorry, I'm a little confused. If my classpaths.xml is in
>>/home/kasia/workspace/Mesquite Project/Mesquite_Folder, then isn't
>>it already in the root of my the Mesquite_Folder?
>>
>>Or are you saying to instead put it in
>>/home/kasia/workspace/Mesquite Project, which is one directory
>>above? (When I do this I no longer have the option to export as
>>NEXML, even when I remember that I have to change the relative paths
>>after bumping up the classpaths.xml file one directory :)
>>
>>
>>Kasia
>>
>>
>>
>>Katherine "Kasia" Hayden
>>Bennington College, Class of 2011
>>312.576.8175
>>kha...@bennington.edu
>>
>>
>>
>>-----Original Message-----
>>From: rutge...@gmail.com on behalf of Rutger Vos
>>Sent: Tue 6/9/2009 4:52 PM
>>To: Hayden, Katherine M.
>>Cc: Arlin Stoltzfus; TreeBASE Developers; Enrico Pontelli;
>>ju...@igbmc.fr; nexml-...@lists.sourceforge.net;
>>phy...@googlegroups.com
>>Subject: Re: [Nexml-discuss] CDAO term inclusion community process
>>
>>Hi Kasia,
>>
>>I don't think classpaths.xml modifies the system classpath variable,
>>so adding the properties file here won't do anything - as far as I
>>understand the xml file is read by Mesquite's module loading system.
>>Maybe try placing the file in the root of the Mesquite_Folder?
>>
>>Rutger
>>
>>On Sun, Jun 7, 2009 at 9:16 AM, Hayden, Katherine
>>M.<KHa...@bennington.edu> wrote:
>>>  Rutger,
>>>
>>>  I changed what you suggested and still get the same output.
>>>
>>>  This is what my classpaths.xml file looks like:


>>>
>>>  <?xml version="1.0"?>
>>>  <mesquite>

>>>          <classpath>../../MesquiteGSoC/Mesquite_Folder</classpath>
>>>          <classpath>../../RutgersNexml/java/bin</classpath>
>>>          <!--
>>>
>>><classpath>../../RutgersNexml/java/src/predicateHandlerMapping.properties</classpath>
>>>  -->
>>>          <classpath>../../RutgersNexml/java/src</classpath>
>>>  </mesquite>
>>>
>>>
>>>  I wasn't sure if the .properties file needed to be pointed to directly or if
>>>  its directory needed to be specified, so I tried both. No luck with either.
>>>
>>>  My classpaths.xml file is in ~/workspace/Mesquite Project/Mesquite_Folder.
>>>
>>>
>>>  Can't think of what else might be accounting for the difference.. Do you
>>>  have any other suggestions?
>>>
>>>
>>>  Kasia
>>>
>>>
>>>
>>>  Katherine "Kasia" Hayden
>>>  Bennington College, Class of 2011
>>>  312.576.8175
>>>  kha...@bennington.edu
>>>
>>>
>>>
>>>  -----Original Message-----
>>>  From: rutge...@gmail.com on behalf of Rutger Vos
>>>  Sent: Fri 6/5/2009 5:23 PM
>>>  To: Hayden, Katherine M.
>>>  Cc: Arlin Stoltzfus; TreeBASE Developers; Enrico Pontelli; ju...@igbmc.fr;
>>  > nexml-...@lists.sourceforge.net; phy...@googlegroups.com
>>>  Subject: Re: [Nexml-discuss] CDAO term inclusion community process
>>>
>>>  Hi Katherine,
>>>
>>>  is it possible that the predicateHandlerMapping.properties file isn't
>>>  in your classpath? The output you produced is the default output which
>>>  uses Mesquite's internal name for URLs - "hyperlink" - as a predicate
>>>  instead of the href/rel construct. The properties file defines which
>>>  class is used for which internal name, and it should make Mesquite
>>>  load mesquite.nexml.InterpretNEXML.HyperlinkHandler to write out the
>>>  attachment (but clearly it's not working in your output).
>>>
>>>  Rutger
>>>
>>>  On Fri, Jun 5, 2009 at 8:51 AM, Hayden, Katherine
>>>  M.<KHa...@bennington.edu> wrote:
>>>>  Hi Rutger,
>>>>
>>>>  I just built this and got different results for my hyperlink.xml output
>>>>  that
>>>>  I thought I'd share. I'm running Ubuntu Jaunty 9.04 and Sun's Java version
>>>>  1.6.0_13.
>>>>
>>>>  Specifically, here's the annotation attached to otu elements:
>>>>
>>>>  <meta
>>>>content="<http://8ball.sdsc.edu:6666/treebase-web>http://8ball.sdsc.edu:6666/treebase-web"
>>>>  datatype="xsd:string" id="a4713c006-3815-414e-a64c-c62c770ae6d9"
>>>>  property="msq:hyperlink" xsi:type="nex:LiteralMeta"/>
>>>>
>>>>
>>>>  And here's the whole thing:
>>>>
>>>>  <?xml version="1.0" encoding="UTF-8"?>
>>>>  <nex:nexml
>>>>xmlns:rdf="<http://www.w3.org/1999/02/22-rdf-syntax-ns>http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>>>
>>>>xmlns:xsd="<http://www.w3.org/2001/XMLSchema>http://www.w3.org/2001/XMLSchema#"
>>>>
>>>>xmlns:xsi="<http://www.w3.org/1999/XMLSchema-instance>http://www.w3.org/1999/XMLSchema-instance"
>>>>  generator="org.nexml.model.impl.DocumentImpl" version="0.8"
>>>>  xmlns:nex="<http://www.nexml.org/1.0>http://www.nexml.org/1.0">
>>>>    <otus xmlns:msq="<http://mesquiteproject.org>http://mesquiteproject.org#"
>>>>  about="#a30fa7c92-f779-4ec2-9e93-b661ad5d8067"
>>>>  id="a30fa7c92-f779-4ec2-9e93-b661ad5d8067" label="Taxa"
>>>>  xmlns="<http://www.nexml.org/1.0>http://www.nexml.org/1.0">
>>>>      <meta content="0121b10b3afc1" datatype="xsd:string"
>>>>  id="adf36dd59-cc8f-4638-a504-d79e038d2536" property="msq:taxaUID"
>>>>  xsi:type="nex:LiteralMeta"/>
>>>>      <otu about="#a813050fb-c62d-4135-a564-9a97bfd2be14"
>>>>  id="a813050fb-c62d-4135-a564-9a97bfd2be14" label="taxon 1">
>>>>        <meta content="http" datatype="xsd:string"
>>>>  id="a49c0ce09-09c4-45c1-bd63-0c110586bffd" property="msq:hyperlink"
>>>>  xsi:type="nex:LiteralMeta"/>
>>>>        <meta content="0" datatype="xsd:integer"
>>>>  id="ac65986fc-fcf2-4016-be0a-4e96b318ec1d" property="msq:taxonUID"
>>>>  xsi:type="nex:LiteralMeta"/>
>>>>      </otu>
>>>>      <otu about="#ae0cf73e3-063a-4e52-bebe-e546e7fbe5e3"
>>>>  id="ae0cf73e3-063a-4e52-bebe-e546e7fbe5e3" label="taxon 2">
>>>>        <meta
>>>>content="<http://8ball.sdsc.edu:6666/treebase-web>http://8ball.sdsc.edu:6666/treebase-web"
>>>>  datatype="xsd:string" id="a8c2301c6-55b8-463e-af78-da3c5a8eb436"
>>>>  property="msq:hyperlink" xsi:type="nex:LiteralMeta"/>
>>>>        <meta content="1" datatype="xsd:integer"
>>>>  id="a0a697790-2018-4a5a-84e8-a805ce23dc95" property="msq:taxonUID"
>>>>  xsi:type="nex:LiteralMeta"/>
>>>>      </otu>
>>>>      <otu about="#aae2e01e9-7c71-4293-9d4e-0f2d2002485d"
>>>>  id="aae2e01e9-7c71-4293-9d4e-0f2d2002485d" label="taxon 3">
>>>>        <meta
>>>>content="<http://8ball.sdsc.edu:6666/treebase-web>http://8ball.sdsc.edu:6666/treebase-web"
>>>>  datatype="xsd:string" id="a4713c006-3815-414e-a64c-c62c770ae6d9"
>>>>  property="msq:hyperlink" xsi:type="nex:LiteralMeta"/>
>>>>        <meta content="2" datatype="xsd:integer"
>>>>  id="ac881653e-1ed1-40af-8227-e2005a4cee4d" property="msq:taxonUID"
>>>>  xsi:type="nex:LiteralMeta"/>
>>>>      </otu>
>>>>    </otus>
>>>>    <trees id="afdb44f28-fcf6-4904-84d7-78a9d6afecce" label="Simulated
>>>>  Trees"
>>>>  otus="a30fa7c92-f779-4ec2-9e93-b661ad5d8067"
>>>>  xmlns="<http://www.nexml.org/1.0>http://www.nexml.org/1.0">
>>>>      <tree
>>>>xmlns:msq="<http://mesquiteproject.org>http://mesquiteproject.org#"
>>>>  about="#a72f25756-9b46-465a-9865-24960220a821"
>>>>  id="a72f25756-9b46-465a-9865-24960220a821" label="Tree # 1 simulated by
>>>>  Uniform speciation (Yule)"
>>>>
>>>>xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>http://www.w3.org/2001/XMLSchema-instance"
>>  >> xsi:type="nex:FloatTree">
>>>>        <meta content="1" datatype="xsd:long"
>>>>  id="a5ab09661-ee5c-48cc-8017-ec8b91c51398" property="msq:treeUID"
>>>>  xsi:type="nex:LiteralMeta"/>
>>>>        <meta content="2" datatype="xsd:integer"
>>>>  id="a93297efc-f077-43fd-88b1-e5a0866c0303"
>>>>  property="msq:treePolytomyAssumption" xsi:type="nex:LiteralMeta"/>
>>>>        <node id="a5ae62a35-5617-46d0-a873-8e37533603e1" label=""/>
>>>>        <node id="a7ede845d-5b13-4fcc-ac25-73f472963e42" label="taxon 3"
>>>>  otu="aae2e01e9-7c71-4293-9d4e-0f2d2002485d"/>
>>>>        <node id="ae9e03f83-0241-489c-9006-70f606344b48" label=""/>
>>>>        <node id="afca8e713-a823-4cf5-b3f4-eb6a825c5518" label="taxon 2"
>>>>  otu="ae0cf73e3-063a-4e52-bebe-e546e7fbe5e3"/>
>>>>        <node id="a2d5aa115-782e-4ecd-8fc7-ce9097cc5346" label="taxon 1"
>>>>  otu="a813050fb-c62d-4135-a564-9a97bfd2be14"/>
>>>>        <edge id="ac31fb749-d444-480c-8ec2-47f34ef11149" length="10.0"
>>>>  source="a5ae62a35-5617-46d0-a873-8e37533603e1"
>>>>  target="a7ede845d-5b13-4fcc-ac25-73f472963e42"/>
>>>>        <edge id="a6ec736dc-4db1-4b96-94ef-fdda1ce12bbd"
>>>>  length="3.1643765725844055" source="a5ae62a35-5617-46d0-a873-8e37533603e1"
>>>>  target="ae9e03f83-0241-489c-9006-70f606344b48"/>
>>>>        <edge id="afe019984-8683-4f05-9b2d-954ddfce7f38"
>>>>  length="6.835623427415595" source="ae9e03f83-0241-489c-9006-70f606344b48"
>>>>  target="afca8e713-a823-4cf5-b3f4-eb6a825c5518"/>
>>>>        <edge id="a116f17be-c512-4680-a850-c4d467451f68"
>>>>  length="6.835623427415595" source="ae9e03f83-0241-489c-9006-70f606344b48"
>>>>  target="a2d5aa115-782e-4ecd-8fc7-ce9097cc5346"/>
>>>>      </tree>
>>>>    </trees>
>>>>  </nex:nexml>
>>>>
>>>>
>>>>  Kasia
>>>>
>>>>
>>>>
>>>>  Katherine "Kasia" Hayden
>>>>  Bennington College, Class of 2011
>>>>  312.576.8175
>>>>  kha...@bennington.edu


>>>>
>>>>
>>>>
>>>>  -----Original Message-----
>>>>  From: Rutger Vos
>>>>[<mailto:rv...@interchange.ubc.ca>mailto:rv...@interchange.ubc.ca]
>>>>  Sent: Fri 6/5/2009 3:53 AM
>>>>  To: Arlin Stoltzfus
>>>>  Cc: TreeBASE Developers; Enrico Pontelli; ju...@igbmc.fr;
>>>>  nexml-...@lists.sourceforge.net; phy...@googlegroups.com
>>>>  Subject: Re: [Nexml-discuss] CDAO term inclusion community process
>>>>
>>>>  Hi,
>>>>
>>>>  Can we work along a use case? I've just committed some code to import
>>>>  and export nexml (with annotations) into mesquite using the
>>>>  hackathon's nexml/java API. To run it, here's what you do (ok, just
>>>>  play along - you don't *have* to build this):
>>>>
>>>>  * svn co

>>>><https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/java>https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/java


>>>>  * cd java
>>>>  * export CLASSPATH=$CLASSPATH:/path/to/Mesquite_Folder
>>>>  * ant mesquite
>>>>
>>>>  Then, inside your Mesquite_Folder, either create or edit your
>>>>  classpaths.xml file, which should contain an entry that points to the
>>>>  bin folder that the ant task created:
>>>>
>>>>  <?xml version="1.0"?>
>>>>  <mesquite>
>>>>              <!-- perhaps other classpath entries here -->
>>>>          <classpath>/path/to/java/bin</classpath>
>>>>  </mesquite>
>>>>
>>>>  Now, start mesquite and open this url from within mesquite (File >
>>>>  Open other... > URL...):
>>>>
>>>>

>>>><http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.nex>http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.nex


>>>>
>>>>  You'll see a tree with some dummy URLs on the terminal nodes. If you
>>>>  look in the nexus "source" you can see these URLs are written in the
>>>>  notes block. If you now choose file > export, NeXML should be one of
>>>>  the options so you can write hyperlink.xml out to a file. The produced
>>>>  output should look like this:
>>>>
>>>>

>>>><http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.xml>http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.xml


>>>>
>>>>  The salient point of the output is the annotation attached to otu
>>>>  elements:
>>>>
>>>>  <meta

>>>>href="<http://8ball.sdsc.edu:6666/treebase-web>http://8ball.sdsc.edu:6666/treebase-web"


>>>>     rel="cdao:has_External_Reference" [...other attributes are
>>>>  irrelevant for now...] />
>>>>
>>>>  According to the RDFa rules, we can just use the "href" attribute to
>>>>  store a url, and the "rel" attribute will describe the relationship
>>  >> between the subject (the earliest enclosing element that has an
>>>>  "about" attribute) and the resource on the other end. I *think* we
>>>>  agreed that such a simple relationship could be described as
>>>>  has_External_Reference, we use it on the wiki and I've found it in the
>>>>  CDAO owl file.
>>>>

>>>>  So what about other annotations? You can see in the produced nexml


>>>>  that mesquite is also storing internal object IDs to various
>>>>  predicates under the msq: namespace prefix (i.e. msq:taxaUID,
>>>>  msq:taxonUID and msq:treeUID). Can we have something like these as
>>>>  properties in CDAO? The TreeBASE2 team has been sketching out some
>>>>  service queries which we would like to implement, and we want the

>>>>  search fields we expose be mediated by CDAO. One of the obvious search
>>>>  fields would be something like cdao.treeUID, where perhaps the value
>>>>  would be a namespaced id string (TreeBASE:Tr3242, for example).
>>>>

>>>>  Can we have something like that? I like Hilmar's suggestion of being
>>>>  able to put it in a queue somewhere, but I would be very interested to
>>>>  see what Brandon comes up with for term suggestion interface -
>>>>  obviously it will be better for all involved if the term suggestion
>>>>  was as specific as possible, perhaps already fitted into CDAO's class
>>>>  hierarchy (as opposed to a rambling email like this one).
>>>>

>>>>>>(<https://www.nescent.org/wg_evoinfo/CDAO_term_request>https://www.nescent.org/wg_evoinfo/CDAO_term_request),


>>>>>>but ideally
>>>>>>  there would be some sort of issue tracker with structured input fields
>>>>>>  (e.g. subject/predicate/object name="XXX", suggested superclass="YYY",
>>>>>>  suggested datatype(s)="ZZZ", description="..."). Behind this tracker
>>>>>>  would be a team of curators that will promptly pick up a posted issue
>>>>>>  and work towards a solution.
>>>>>>
>>>>>>  I realize that this involves a support commitment from team CDAO, but
>>>>>>  I think that's what we agreed to over free-form key/value pairs,
>>>>>>  homegrown vocabularies or a BioMoby-like free-for-all.
>>>>>>
>>>>>>  Any comments?
>>>>>>
>>>>>>  Rutger
>>>>>>
>>>>>>  --
>>>>>>  Dr. Rutger A. Vos
>>>>>>  Department of zoology
>>>>>>  University of British Columbia

>>>>>>  <http://www.nexml.org>http://www.nexml.org
>>>>>>  <http://rutgervos.blogspot.com>http://rutgervos.blogspot.com


>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>>  Dr. Rutger A. Vos
>>>>  Department of zoology
>>  >> University of British Columbia

>>>>  <http://www.nexml.org>http://www.nexml.org
>>>>  <http://rutgervos.blogspot.com>http://rutgervos.blogspot.com
>>>>
>>>>
>>>>
>>>>------------------------------------------------------------------------------
>>>>  OpenSolaris 2009.06 is a cutting edge operating system for enterprises
>>>>  looking to deploy the next generation of Solaris that includes the latest
>>>>  innovations from Sun and the OpenSource community. Download a copy and
>>>>  enjoy capabilities such as Networking, Storage and Virtualization.
>>>>  Go to:
>>>><http://p.sf.net/sfu/opensolaris-get>http://p.sf.net/sfu/opensolaris-get
>>>>  _______________________________________________
>>>>  Nexml-discuss mailing list
>>>>  Nexml-...@lists.sourceforge.net
>>>>
>>>><https://lists.sourceforge.net/lists/listinfo/nexml-discuss>https://lists.sourceforge.net/lists/listinfo/nexml-discuss


>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>  --
>>>  Dr. Rutger A. Vos
>>>  Department of zoology
>>>  University of British Columbia

>>>  <http://www.nexml.org>http://www.nexml.org
>>>  <http://rutgervos.blogspot.com>http://rutgervos.blogspot.com


>>>
>>>
>>
>>
>>
>>--
>>Dr. Rutger A. Vos
>>Department of zoology
>>University of British Columbia

>><http://www.nexml.org>http://www.nexml.org
>><http://rutgervos.blogspot.com>http://rutgervos.blogspot.com
>>
>>
>>
>>------------------------------------------------------------------------------
>>Crystal Reports - New Free Runtime and 30 Day Trial
>>Check out the new simplified licensing option that enables unlimited
>>royalty-free distribution of the report engine for externally facing
>>server and web deployment.
>>http://p.sf.net/sfu/businessobjects
>>
>>_______________________________________________
>>Nexml-discuss mailing list
>>Nexml-...@lists.sourceforge.net
>>https://lists.sourceforge.net/lists/listinfo/nexml-discuss
>
>
> --
> --------------------------------------------------------
> Wayne Maddison
>  Professor and Canada Research Chair
>          Depts. of Zoology and Botany and
>          Biodiversity Research Centre
>  & Director
>          Beaty Biodiversity Museum
>  6270 University Boulevard
>  University of British Columbia
>  Vancouver, BC  V6T 1Z4   Canada
>
> email: wmad...@interchange.ubc.ca   FAX: +1 604 822-2416
>
> Mesquite: http://mesquiteproject.org
> MacClade: http://macclade.org
> Salticidae:  http://salticidae.org
> Tree of Life: http://tolweb.org
> Beaty Biodiversity Museum: http://beatymuseum.ubc.ca
> Home page: http://salticidae.org/wpm/home.html
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> Nexml-discuss mailing list
> Nexml-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nexml-discuss

classpaths.xml

Rutger Vos

unread,
Jun 10, 2009, 3:52:26 PM6/10/09
to Hayden, Katherine M., Wayne Maddison, TreeBASE Developers, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, phy...@googlegroups.com
Ok, so now that you have nexml as an export option, could you send the
log for when you're reading the hyperlink.xml file?

On Wed, Jun 10, 2009 at 8:41 AM, Hayden, Katherine


M.<KHa...@bennington.edu> wrote:
> Hi Rutger,
>

> I couldn't get NeXml as an export option with these new instructions, but
> when I made a test directory and used the old checkout url
> (https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/java) the
> option to export as NeXml was back. Still trying to figure out the
> difference.

Rutger Vos

unread,
Jun 10, 2009, 5:48:54 PM6/10/09
to Hayden, Katherine M., Wayne Maddison, TreeBASE Developers, Enrico Pontelli, ju...@igbmc.fr, nexml-...@lists.sourceforge.net, phy...@googlegroups.com
Hi Kasia,

you don't want to have the properties file listed in your classpaths.xml.

All you need in there is the path to the root of the compiled nexml
classes, i.e. <classpath>../../nexmltest/java/bin</classpath> or
wherever the root of the folder structure is that contains
org/nexml/model/Annotatable.class (and all other core nexml classes)
and mesquite/nexml/InterpretNEXML/HyperlinkHandler.class (and all
other mesquite/nexml classes).

Under a clean mesquite install that path is all you need to have in
your classpaths.xml, you don't need to point to the nexml source, or
the mesquite source, or your Mesquite_Folder, or your properties file.

The properties file needs to be in the jvm classpath (NOT in the
classpaths.xml) such that it can be read from within
InterpretNEXML.class. Please have a look at the code for
java/src/mesquite/nexml/InterpretNEXML/InterpretNEXML.java for where
that properties file is read (lines 65 and 81) and try to figure out
why it's not working - reading a properties file is pretty standard so
I'm a little bit at the end of my wits as to why this isn't working.

Once you think you have it figured out, try loading the attached file
and send me the mesquite log. The first log you sent me you were
basically there except that the properties file couldn't be found.

Rutger


On Wed, Jun 10, 2009 at 2:07 PM, Hayden, Katherine


M.<KHa...@bennington.edu> wrote:
> Hi Rutger,
>

> Thanks for spending all this time working through this!
>
> When I've used the url
> https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/java for
> checkout, rather than
> https://nexml.svn.sourceforge.net/svnroot/nexml/trunk/nexml/ I don't have
> the Examples folder that the hyperlink.xml file is in, so I can't read that.
>
> But about using the first url, I now have the problem that when I try to
> export in Nexml I no longer get the default hyperlink.xml that treated
> hyperlink as a predicate; instead it crashes, with the log file reproduced
> below. What's odd is that for Mesquite to even load nexml now,
> predicateHandlerMapping.properties must be commented out.
>
> So, two log files. The fist is where the .properties file is commented out
> in my classpaths.xml file and thus Mesquite loads the nexml module, provides
> exporting as NeXml as an option, but crashes when I try to export. The
> second is when the .properties file isn't commented out in my classpaths.xml
> file, but not you don't see that Mesquite loads nexml in the log.
>
> Error message when I try to export with nexml. Log:
>
>
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/dom4j-1.6.1.jar
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/JSci.zip
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/pal.zip
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/Jama-1.0.1.zip
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/iText.jar
> Mesquite version 2.6+ (build 499)
> Copyright (c) 1997-2009 W. Maddison and D. Maddison
> The basic Mesquite package (class library and basic modules) is free
> software; you can redistribute it and/or modify it under the terms of the
> GNU Lesser General Public License.   Mesquite is distributed in the hope
> that it will be useful, but WITHOUT ANY WARRANTY.  For details on license
> and lack of warranty see the GNU Lesser General Public License by selecting
> "Display License" from the Window menu or at www.gnu.org
>
> Principal Authors: Wayne Maddison & David Maddison
> Development Team: Wayne Maddison, David Maddison, Peter Midford, Jeff Oliver
> Development Team Alumnus: Danny Mandel
>
>
> Wed Jun 10 16:25:01 EDT 2009
> Running under Java 1.6.0_13; virtual machine by Sun Microsystems Inc. on
> Linux 2.6.28-13-generic (architecture: i386)
> User: kasia
>
> Incorporated from /home/kasia/workspace/Mesquite Project/Mesquite_Folder/
> dom4j-1.6.1.jar JSci.zip pal.zip Jama-1.0.1.zip iText.jar
>
>
> Mesquite directory: /home/kasia/workspace/Mesquite Project/Mesquite_Folder/
> Log file located in: /home/kasia/Mesquite_Support_Files
> Prefs directory: /home/kasia/Mesquite_Support_Files/Mesquite_Prefs
>
> Modules loading from directory /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/mesquite/


>
>  ancstates basic categ charMatrices charts cont genesis io lists minimal
> parsimony stochchar trees align assoc batchArch coalesce consensus correl
> distance diverse dmanager mb meristic molec ornamental pairwise rhetenor
> search tol treefarm iText jama jsci pal trunk
>
> Additional modules loaded from

> /home/kasia/workspace/MesquiteGSoC/Mesquite_Folder
>
>
> Additional modules loaded from /home/kasia/workspace/nexmltest/java/bin
>  nexml
>
> 687 modules installed.
> 1 prerelease substantive modules installed.
>
> Mesquite makes use of BrowserLauncher by Eric Albert,  corejava.Format by
> Horstmann & Cornell, and iText by Lowagie & Soares
>
> ------------------------------
>
>
>
>
> THIS IS A PRERELEASE (BETA) VERSION: Please do not publish results from this
> version without permission of authors.
>
> Loading manual for searching..... manual ready.
> Mesquite > openGeneral "Open_URL"
> Opening external
>      at Wed Jun 10 16:25:13 EDT 2009
> Dialog box shown.  Title: Open URL
>
> For console choice use component numbers
>      1 <blank>
>      2 (Cancel)
>      3 (OK)
> Enter number of component to select.
>  If component is a editable text, enter
>  both number of component and the text within it
>  (e.g. if you want to specify the text for component 1 to be "100.0",
>  enter "1 100.0"
>
> (Open URL) #
> (Mesquite) # Dialog closed
> Location:
> http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.nex
>
> Reading NEXUS file hyperlink.nex
> Reading block: TAXA
> Reading block: TREES
> Reading block: NOTES
> Reading block: MESQUITE
> File reading complete (file hyperlink.nex)
> Basic File Coordinator > export
> Dialog box shown.  Title: Export format
>
> For console choice use component numbers
>       Export part or all of the information as a file of the following
> format
>      --------------
>      1 List
>        1 *Export NEXUS Tree File
>        2  Export NEXUS Tree File from Tree Source
>        3  Phylip (trees)
>        4  Export Taxa Distance Matrix
>        5  NeXML (taxa, matrices, trees and annotations)
>      --------------
>       Exports NEXUS file with a tree block, and optionally a taxa block.
>      2 (Cancel)
>      3 (OK)
> Enter number of component to select.
>  If component is a list or choice menu, enter
>  both number of component and number of item within it to choose
>  (e.g. if a list is component 1, and you want to select its item 2, enter "1
> 2"
>
>
> (Export format) #
> (Mesquite) # Dialog closed
> (Following stack trace from object of class: class
> mesquite.lib.PendingCommand)
> java.lang.NullPointerException
>         at java.util.Properties$LineReader.readLine(Properties.java:418)
>         at java.util.Properties.load0(Properties.java:337)
>         at java.util.Properties.load(Properties.java:325)
>         at mesquite.nexml.InterpretNEXML.InterpretNEXML.exportFile(Unknown
> Source)
>         at
> mesquite.minimal.BasicFileCoordinator.BasicFileCoordinator.export(BasicFileCoordinator.java:1003)
>         at
> mesquite.minimal.BasicFileCoordinator.BasicFileCoordinator.doCommand(BasicFileCoordinator.java:1488)
>         at mesquite.lib.PendingCommand.go(PendingCommand.java:205)
>         at mesquite.lib.MainThread.run(MainThread.java:116)
>
> Dialog box shown.  Title: Crash
>
> For console choice use component numbers
>       A command could not be completed because an exception occurred (i.e. a
> crash; class java.lang.NullPointerException ). WARNING: there is a chance
> this crash could have corrupted your data.  Please check your data
> carefully.  If you save any files, you might best use Save As... in case
> file saving doesn't work properly.
>
> Please send a report of this crash to the Mesquite server, to help us debug
> it and improve Mesquite.  None of your data will be sent, but your log file
> up to this point will be sent.
>      1 (Close without sending)
>      2 (OK, Send and Force Quit)
>      3 (OK, Send Report and Continue)
> Enter number of component to select.
>
> (Crash) #
> (Mesquite) # Dialog closed
>
>
>
>
> - Curiously, when I change my classpaths.xml file so that
> predicateHandlerMapping isn't commented out, the nexml module doesn't even
> load and exporting as NeXml isn't an option. classpaths.xml:


>
> <?xml version="1.0"?>
> <mesquite>
>         <classpath>../../MesquiteGSoC/Mesquite_Folder</classpath>

>         <classpath>predicateHandlerMapping.properties</classpath>
>         <!-- classpath>../../nexml/java</classpath-->
>         <!--classpath>../..nexml/java/src</classpath-->
>
>         <!--classpath>../../teest/java/bin</classpath> < The test that
> worked to bring up nexml option again, but crashed. Only needed this
> classpath. -->
>         <!--classpath>../../nexmltest3/nexml/java/bin</classpath-->
>         <classpath>../../nexmltest/java/bin</classpath>
>
> </mesquite>
>
>
> Log:
>
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/dom4j-1.6.1.jar
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/JSci.zip
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/pal.zip
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/Jama-1.0.1.zip
> Jar file added to classpath: /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/jars/iText.jar
> Mesquite version 2.6+ (build 499)
> Copyright (c) 1997-2009 W. Maddison and D. Maddison
> The basic Mesquite package (class library and basic modules) is free
> software; you can redistribute it and/or modify it under the terms of the
> GNU Lesser General Public License.   Mesquite is distributed in the hope
> that it will be useful, but WITHOUT ANY WARRANTY.  For details on license
> and lack of warranty see the GNU Lesser General Public License by selecting
> "Display License" from the Window menu or at www.gnu.org
>
> Principal Authors: Wayne Maddison & David Maddison
> Development Team: Wayne Maddison, David Maddison, Peter Midford, Jeff Oliver
> Development Team Alumnus: Danny Mandel
>
>
> Wed Jun 10 16:30:03 EDT 2009
> Running under Java 1.6.0_13; virtual machine by Sun Microsystems Inc. on
> Linux 2.6.28-13-generic (architecture: i386)
> User: kasia
>
> Incorporated from /home/kasia/workspace/Mesquite Project/Mesquite_Folder/
> dom4j-1.6.1.jar JSci.zip pal.zip Jama-1.0.1.zip iText.jar
>
>
> Mesquite directory: /home/kasia/workspace/Mesquite Project/Mesquite_Folder/
> Log file located in: /home/kasia/Mesquite_Support_Files
> Prefs directory: /home/kasia/Mesquite_Support_Files/Mesquite_Prefs
>
> Modules loading from directory /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/mesquite/


>
>  ancstates basic categ charMatrices charts cont genesis io lists minimal
> parsimony stochchar trees align assoc batchArch coalesce consensus correl
> distance diverse dmanager mb meristic molec ornamental pairwise rhetenor
> search tol treefarm iText jama jsci pal trunk
>
> Additional modules loaded from

> /home/kasia/workspace/MesquiteGSoC/Mesquite_Folder
>
>
> Additional modules loaded from /home/kasia/workspace/Mesquite
> Project/Mesquite_Folder/predicateHandlerMapping.properties
>
>
> 686 modules installed.
> 1 prerelease substantive modules installed.
>
> Mesquite makes use of BrowserLauncher by Eric Albert,  corejava.Format by
> Horstmann & Cornell, and iText by Lowagie & Soares
>
> ---------------------
>
>
> THIS IS A PRERELEASE (BETA) VERSION: Please do not publish results from this
> version without permission of authors.
>
> Loading manual for searching..... manual ready.
> Mesquite > openGeneral "Open_URL"
> Opening external
>      at Wed Jun 10 16:31:08 EDT 2009
> Dialog box shown.  Title: Open URL
>
> For console choice use component numbers
>      1 <blank>
>      2 (Cancel)
>      3 (OK)
> Enter number of component to select.
>  If component is a editable text, enter
>  both number of component and the text within it
>  (e.g. if you want to specify the text for component 1 to be "100.0",
>  enter "1 100.0"
>
> (Open URL) #
> (Mesquite) # Dialog closed
> Mesquite > openGeneral "Open_URL"
> Opening external
>      at Wed Jun 10 16:31:25 EDT 2009
> Dialog box shown.  Title: Open URL
>
> For console choice use component numbers
>      1 <blank>
>      2 (Cancel)
>      3 (OK)
> Enter number of component to select.
>  If component is a editable text, enter
>  both number of component and the text within it
>  (e.g. if you want to specify the text for component 1 to be "100.0",
>  enter "1 100.0"
>
> (Open URL) #
> (Mesquite) # Dialog closed
> Location:
> http://nexml-dev.nescent.org/nexml/examples/translations/hyperlink.nex
>
> Reading NEXUS file hyperlink.nex
> Reading block: TAXA
> Reading block: TREES
> Reading block: NOTES
> Reading block: MESQUITE
> File reading complete (file hyperlink.nex)
> Basic File Coordinator > export
> Dialog box shown.  Title: Export format
>
> For console choice use component numbers
>       Export part or all of the information as a file of the following
> format
>      --------------
>      1 List
>        1 *Export NEXUS Tree File
>        2  Export NEXUS Tree File from Tree Source
>        3  Phylip (trees)
>        4  Export Taxa Distance Matrix
>      --------------
>       Exports NEXUS file with a tree block, and optionally a taxa block.
>      2 (Cancel)
>      3 (OK)
> Enter number of component to select.
>  If component is a list or choice menu, enter
>  both number of component and number of item within it to choose
>  (e.g. if a list is component 1, and you want to select its item 2, enter "1
> 2"
>
>
> (Export format) #
> (Mesquite) # Dialog closed

--

hyperlink.xml
Reply all
Reply to author
Forward
0 new messages