OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

uima message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Update to Behavioral Metadata Document

As agreed on our last call, I have updated the Behavioral Metadata document with the discussion of how the "reference closure" should be handled.  The updates were:

In section 3.3 Efficiency, rewrote the discussion of reference closure to be the following:

Note that an object A that matches the projection condition may have a reference to an object B that does not match the projection condition.  By default, object B will also be included in the CAS that is delivered to the analytic, as will all objects that are referenced from B, and so on.  We say that the “reference closure” of A will be included in the CAS.

There is an attribute that the analytic developer can set in the behavioral metadata to explicitly say that the reference closure is not desired – see Section 4.1.2.  Setting this attribute would allow the caller of the analytic to filter out objects of type B in this example.  If objects of type B are filtered, then the feature of A that references B would be set to null.

However, note that if the reference from A to B is a containment reference (as defined by Ecore), then B will always be included in the CAS, since B is considered an integral part of A in that case.

In section 4.1.2, the example XML and explanation were updated to:

The following example is the behavioral metadata for an analytic that analyzes a Sofa of type TextDocument, requires objects of type Person, and will inspect objects of type Place if they are present.  It may create objects of type At.  

  <behavioralMetadata xmlns:org.example="http://docs.oasis-open.org/uima/org/example.ecore" excludeReferenceClosure="true">
      <type name="org.example:TextDocument"/>
      <type name="org.example:Person"/>
      <type name="org.example:Place"/>
      <type name="org.example:At"/>

Note that the inheritance hierarchy declared in the type system is respected.  So for example a CAS containing objects of type GovernmentOfficial and Country would be valid input to this analytic, assuming that the type system declared these to be subtypes of org.example:Person and org.example:Place, respectively.

The “excludeReferenceClosure” attribute on the Behavioral Metadata element, when set to true, indicates that objects that are referenced from optional/required inputs of this analytic will not be guaranteed to be included in the CAS passed to the analytic.  This attribute defaults to false.  

For example, assume in this example the Person object had an employer feature of type Company.  With excludeReferenceClosure set to true, the caller of this analytic is not required to include Company objects in the CAS that is delivered to this analytic.  If Company objects are filtered then the employer feature would become null.  If excludeReferenceClosure were not set, then Company objects would be guaranteed to be included in the CAS.  See the discussion in Section 3.3.


Adam Lally
Senior Software Engineer
Semantic Analysis & Integration
IBM T.J. Watson Research Center
Hawthorne, NY, 10532
Tel: 914-784-7706,  T/L: 863-7706


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]