SystemId or Sid is a unique identifier automatically assigned by A-Stack to every newly created Model Instance. It is of type "String" and is defined as the following in TQL.
Code Block |
---|
language | xmlruby |
---|
theme | Emacs |
---|
title | System ID Definiton |
---|
linenumbers | true |
---|
|
<Def#
Def(name=: "System", inherits=: "Entity", documentation=: "Marker of all system types"/>
<Def name=)
Def(name: "SystemId", alt=: "sid", inherits=: "String,System"/>) |
Note: SystemId and Sid are synonyms. For the purpose of this document will use Sid when referring to System ID.
...
In this example: PhidServoId is defined as Sid.
Code Block |
---|
language | ruby |
---|
theme | xmlEmacs |
---|
title | PhidServoId defined as System ID |
---|
linenumbers | true |
---|
|
<ThingModel#
ThingModel(Name=: "PhidgetServoModel", Combines=: "PhidgetServoFacet">)
<Sid Name=Sid(Name: "PhidServoId"/>
</ThingModel>) |
When the Model Instance is created, using Create TQL Query, System ID value is automatically generated by A-Stack.
Code Block |
---|
language | ruby |
---|
theme | xmlEmacs |
---|
title | Create Phidget Servo Thing Model Instance |
---|
linenumbers | true |
---|
|
<Query>#
Query:
<Create> Create:
<PhidgetServoModel> PhidgetServoModel:
<ServoProtocolURL> ServoProtocolURL: "phid://"
</ServoProtocolURL>
<PhidgetDeviceType>
PhidgetAdvancedServoServoProtocolURL:
PhidgetDeviceType: "PhidgetAdvancedServo"
</PhidgetDeviceType>
<DeviceInterfaceIndex>
DeviceInterfaceIndex: 0
</DeviceInterfaceIndex>
<ServoAngle>
110
</ServoAngle>
</PhidgetServoModel>
</Create>
</Query>ServoAngle: 110 |
Using the Find TQL Query on PhidgetServoModel
Code Block |
---|
language | rubyxml |
---|
theme | Emacs |
---|
title | Find Phidget Servo Model |
---|
linenumbers | true |
---|
|
<Query>#
Query:
<Find> Find:
<PhidgetServoModel> PhidgetServoModel:
<PhidServoId PhidServoId(ne="" />
</PhidgetServoModel>
</Find>
</Query>) |
Find Result is:
Code Block |
---|
language | ruby |
---|
theme | xmlEmacs |
---|
title | Find Result Phidget Servo Model |
---|
linenumbers | true |
---|
|
<Find#
Find(Status="Success">):
<Result>Result:
<PhidgetServoModel>PhidgetServoModel:
<PhidServoId>KNI5JYVPAAAAUAABA4ONNHF2</PhidServoId>
PhidServoId: "KNI5JYVPAAAAUAABA4ONNHF2"
<PhidgetDeviceType>PhidgetAdvancedServo</PhidgetDeviceType> PhidgetDeviceType: "PhidgetAdvancedServo"
<ServoAngle>110</ServoAngle> ServoAngle: <DeviceInterfaceIndex>0<110</DeviceInterfaceIndex>ServoAngle>
<ServoProtocolURL>phid://</ServoProtocolURL>DeviceInterfaceIndex: 0
</PhidgetServoModel> ServoProtocolURL: </Result>
</Find>"phid://" |
Note that the PhidServoId value is automatically generated even though it is NOT specified at the time of Create Query
...