Links Constraint Configuration

You can configure the links creation to automatically use a specified link type for specified objects. You can also forbid some link types, or apply properties to the links to be created.

This page discusses:

See Also
Constraining Link Set Links in a Scope

Configuration File

The link constraints are specified in a .linkconstraints format file, with the following language: <namespace>* <typeset>* <linkrule>*.

Syntax


<namespace> : namespace <name> = <typechars> ; 
<typechars> : is a complete or partial type name that looks like an URI.
<typeset>   : type <name> = <typename> ( | < typename> )* ;
<typename>  : <typechars> or <name>:<typechars>  (where <name> refers to a namespace)
<linkrule>  : link <types> from <types> to <types> ; 
<types>     : <type> ( | <type> )*
<type>      : <typename> or <name>  (where <name> refers to a type rule)

To add a property attribute to a link, use the following syntax:

property <property_url> type <type_url> title "title_string"

Note: The title part is optional. With no title part, property_url is displayed.

Property definitions are:

  • Added at the end of each link constraint declaration, before the final semi-colon
  • Separated with a comma

Example

namespace syc = http://www.3ds.com/vocabularies/syc/;
namespace syct = http://www.3ds.com/vocabularies/syc/type/;
namespace dc = http://purl.org/dc/terms/;

type Req = syct:Doors.Object | syct:Enovia.Requirement_Specification | syct:MSWord.Paragraph;
type Block = syct:Enovia.RFLPLMFunctionalReference | syct:Enovia.RFLVPMLogicalReference | syct:Simulink.System | syct:Simulink.Block;
type Cov = syc:covers | syc:refine;
type Impl = syc:implements;

link Cov from Block to Req
	property syc:author type string title "Owner",
	property dc:comments type string title "Comment";

link Impl from Block to Block
	property syc:valid type boolean,
	property dc:comments type string title "Comment";