Ace::Model.3pm

Langue: en

Autres versions - même langue

Version: 2003-06-01 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Ace::Model - Get information about AceDB models

SYNOPSIS

   use Ace;
   my $db = Ace->connect(-path=>'/usr/local/acedb/elegans');
   my $model = $db->model('Author');
   print $model;
   $name = $model->name;
   @tags = $model->tags;
   print "Paper is a valid tag" if $model->valid_tag('Paper');
 
 

DESCRIPTION

This class is provided for access to AceDB class models. It provides the model in human-readable form, and does some limited but useful parsing on your behalf.

Ace::Model objects are obtained either by calling an Ace database handle's model() method to retrieve the model of a named class, or by calling an Ace::Object's model() method to retrieve the object's particular model.

METHODS

new()

   $model = Ace::Model->new($model_data);
 
 

This is a constructor intended only for use by Ace and Ace::Object classes. It constructs a new Ace::Model object from the raw string data in models.wrm.

name()

   $name = $model->name;
 
 

This returns the class name for the model.

tags()

    @tags = $model->tags;
 
 

This returns a list of all the valid tags in the model.

valid_tag()

    $boolean  = $model->valid_tag($tag);
 
 

This returns true if the given tag is part of the model.

path()

    @path = $model->path($tag)
 
 

Returns the path to the indicated tag, returning a list of intermediate tags. For example, in the C elegans ?Locus model, the path for 'Compelementation_data" will return the list ('Type','Gene').

asString()

    print $model->asString;
 
 

asString() returns the human-readable representation of the model with comments stripped out. Internally this method is called to automatically convert the model into a string when appropriate. You need only to start performing string operations on the model object in order to convert it into a string automatically:

    print "Paper is unique" if $model=~/Paper ?Paper UNIQUE/;
 
 

SEE ALSO

Ace

AUTHOR

Lincoln Stein <lstein@w3.org> with extensive help from Jean Thierry-Mieg <mieg@kaa.crbm.cnrs-mop.fr>

Copyright (c) 1997-1998, Lincoln D. Stein

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.