Profiling

Status (2026-10-19). Profiling targets Frame Elements directly. An earlier design made a profile an LU → reusable Element fact, with Frame Element uses as derived realizations. That route was withdrawn: the host restriction on reviewed Elements was too tight for the Commerce cases, and migrating FE profiles to Elements risked losing information. Elements are revised separately and may return to profiling later; the Element methods in LuProfiling and the lu_profiling.idElement column remain but are not used by the editor.

A lexical unit profiles the Frame Elements that its construal foregrounds. Profiling is distinct from the LU's home-Frame membership and from incorporation.

Profiling vs. incorporation#

Profiling Incorporation
Target A Frame Element, in the LU's frame or another One local Frame Element Use
Meaning Foregrounds participation meaning Absorbs a local role into the LU's meaning
Rank Optional positive lexical rank None
Effect on home Frame None None

Changing a profile never moves the LU to another Frame and never changes lu.incorporatedFE.

Storage#

lu_profiling
  idLuProfiling   PK
  idLU            FK → lu.idLU
  idFrameElement  FK → frameelement.idFrameElement
  idElement       NULL  (unused)
  rank            positive INT or NULL
  active          BOOL

The pair (idLU, idFrameElement) is profiled at most once. A table check requires exactly one of idFrameElement and idElement. rank belongs to the lexical profile, not to FE coreness: rank 1 is most prominent and NULL means unordered; zero and negative ranks are invalid.

Internal and external profiles#

Internal/external is derived, not stored: a profile is internal when the profiled FE belongs to the LU's home Frame, and external when it belongs to another Frame. LuProfiling::allProfilesByFrame() returns each profile with that mode, the profiled Frame and the FE's name, coreness and color.

An external profile is how an LU in one frame is linked to a Frame Element in another. A profile is not a second direct Frame evocation: the LU's home Frame remains its only direct lexical evocation.

FE–LU associations as the basis for external profiles#

An FE–LU association (stored as a cng_lu constraint: the FE is constrained by the LU) states that the LU can fill that FE, for example Transportar.Agente ← condutor.n in Pessoas_por_vocação. Every association is cross-frame, so each one yields an external profile of the same pair. database/sql/lu_profiling_from_fe_lu_associations.sql creates the profile rows from the associations (unranked, skipping pairs already profiled). Profiles beyond the associations are proposals to be reviewed, not derived automatically.

User interface and API#

The Frame Profiles tab selects an LU, a profile Frame (this Frame by default, another one for an external profile), a Frame Element of that Frame, and an optional rank.

Endpoints:

  • POST /relation/profiling/lu creates a profile (idLU, idFrameElement, optional rank);
  • DELETE /relation/profiling/lu/{idLuProfiling} deletes a profile;
  • GET /frame/{id}/profiles/frame-elements?idFrame= renders the FE picker for the selected profile Frame.

Modeling cautions#

Multi-profiling vs. polysemy. Several ranked FEs on one LU form one multi-profile only when they belong to one construal. Alternative construals require distinct LUs.

Incorporation is not profiling. An LU may incorporate one local FE and profile another. Neither operation implies the other.

Profile reachability is not direct evocation. A profiled FE exposes its Frame as at most a background candidate. It does not become an additional LU membership.