uima message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Update to Behavioral Metadata Document
- From: Adam Lally <alally@us.ibm.com>
- To: uima@lists.oasis-open.org
- Date: Fri, 17 Aug 2007 10:43:49 -0400
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">
<analyzes>
<type
name="org.example:TextDocument"/>
</analyzes>
<requiredInputs>
<type
name="org.example:Person"/>
<type
name="org.example:Place"/>
</requiredInputs>
<creates>
<type
name="org.example:At"/>
</creates>
</behavioralMetadata>
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.
Regards,
-Adam
_____________________________
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
alally@us.ibm.com
BehavioralMetadata_Proposal_v6.doc
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]