ADDPROPERTY

ADDPROPERTY has two uses - at word level and in the grammatical structure. The connections it makes are different for these uses.

Word Level

Format:

COLLOCATION(AddingProperty,{NOCONNECT(BeginSentence), ADDPROPERTY(Provided, SubordinateConjunction)})

In this example, the token "Provided" will be linked as an invocation of SubordinateConjunction. You can also change a property ("ChangingProperty"), which means that the property used to match the ADDPROPERTY will be removed as a parent.

Grammatical Structure

Format:

ADDPROPERTY(ObjectToBeFound, Property)

Sometimes it is desirable to add a property to a node in the grammar structure, rather than combine several nodes into one. It is relatively common that several nodes are needed to recognise a terminal condition, but they can't be combined into one node, and describing every alternative individually would require too many pattern structures.

As an example, a comma phrase, followed by a noun phrase and a verb phrase, mark the end of a prepositional chain (at the comma). The comma phrase could be turned into a ChainEnder and recognised as such, but it may also be needed for some other purpose. ADDPROPERTY uses the pattern recognition facilities of STRUCTURE1 to recognise the pattern, then adds a property to a particular node so it can participate in several pattern recognitions. In other words, the CommaPhrase stays a CommaPhrase, but also becomes a ChainEnder because of its context.

Adding a property to a node reduces the total number of pattern structures required.

The actual use might look like

STRUCTURE1(AddingProperty,{NOCONNECT(PrepositionalChainComponent2), ADDPROPERTY(CommaPhrase, ChainEnder), NOCONNECT(NounPhrase), NOCONNECT(VerbPhrase)})

The pattern will match only if the CommaPhrase node does not have the property to be added.

Note - PrepositionalChainComponent2 includes all the nodes that can end a prepositional chain.

Sometimes it is more appropriate to change a node's property in a particular context. ADDPROPERTY can be used to change a property, as

STRUCTURE1(ChangingProperty,{NOCONNECT(SubordinatePrepositional), ADDPROPERTY(InterimNounPhrase, PrepositionalNounPhrase), NOCONNECT(SubPrepComponent), NOCONNECT(ClauseTerminator)})

The structure head will cease to be an InterimNounPhrase and become a PrepositionalNounPhrase. Adding and changing properties is the converse of constraint reasoning, where a large number of alternatives is managed down to one. Here, alternatives are being added in a particular context. This is conceptually easier than handing out many irrelevant alternatives at the beginning, and then trying to avoid inappropriate consequences.

Related Operators

ANDWITH
COLLOCATION
INSERTMARKER
ISCONSISTENT
NOTCONSISTENT
NOTWITH

STRUCTURE1
WITHPROPERTY