---
name: "Ace::Model"
section: "3pm"
platform: "linux"
package: "libace-perl"
version: "1.92-12+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Ace::Model"
---

# Ace::Model(3pm)

Get information about AceDB models

## 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.
