New 1.1 features (shown in bold text). Modification: a comma has been included in the else clause.
!CRMxI:start, crmxi-1.1.1
"Concept Reference Model for xIntelligence"
"CRMxI"
"Extensions to CRMxI"
"crmxi-1.1.1", https://sites.google.com/site/conceptreferencemodel/definitions/crmxi-1-1-1
exampleStructure:start, "New keywords: exampleStructure, learn, if, matches, else"
"Weather dependent greeting"
learn:start
"Raining", https://www.pexels.com/search/raining/
"Sunny", https://www.pexels.com/search/sunny%20day/
"Severe weather", https://concepts.acme.e.g/weather/severe
learn:end
if:start, "weather", https://api.acme.e.g/weather/today/picture
matches, "Sunny", "Hello, what a beautiful day"
matches, "Raining", "Weather joke of the day", https://api.acme.e.g/jokes/weather
matches, "Snow", "Hello, It's snow joke today"
matches, "Severe weather", "Weather warning!", https://concepts.acme.e.g/weather/warnings
else, "Hello"
if:end
exampleStructure:end
exampleStructure:start, "New keyword: sequence"
"Greeting a new person"
sequence:start
"Hello, my name is"
"My name", https://api.acme.e.g/system/get-name
"What is your name?"
sequence:end
exampleStructure:end
!CRMxI:end
exampleStructure: the contents of this block are an example of syntax structure; it does not contain actual content (attributes) for the concept.
learn: the xI should use the content of this block to learn. What it learns does not form content (attributes) for the current concept - but what it has learnt will probably be used by the following logic in this concept (see weather greeting).
if: allows the most appropriate (probable) attribute to be selected, based on its parameter (text or reference). The matches keyword has a parameter to compare with the if parameter. If all matches have a low probability of a match then the else keyword's parameter is used for the outcome of the if block.
sequence: the attributes in this block should be implemented in sequence (first line to last line).