1. A method of providing a semantic data architecture, comprising: providing a data model layer in the semantic data architecture, wherein the data model layer is formed by at least one processor, at least one storage device, at least one memory, and at least one communication interface in combination with a data model application program stored in the at least one storage device, wherein the at least one processor, in conjunction with running the data model application program, is configured to use the at least one storage device, the at least one memory, and the at least one communication interface to selectively receive source data from a source device, process the source data received from the source device based at least in part on pre-defined data types and filtering terms to form semantic data arranged in one or more binary tree structures, and store the semantic data in the at least one storage device; and providing a data filtering layer in the semantic data architecture, wherein the data filtering layer is formed by the at least one processor, the at least one storage device, the at least one memory, and the at least one communication interface in combination with a data filtering application program stored in the at least one storage device, wherein the at least one processor, in conjunction running the data filtering application program, is configured to use the at least one storage device, the at least one memory, and the at least one communication interface to selectively receive at least a portion of the semantic data from the data model layer, process the semantic data received from the data model layer using a reflexive matching operation based at least in part on the filtering terms to filter data through substitution to form filtered data, and store the filtered data in the at least one storage device.
6. The method of claim 1 wherein the reflexive matching operation associated with the data filtering layer includes a symmetric matching function defined by at least one of the following expressions: 
 Smatch(α 1 ,α 2 )=φ if match(α 1 ,α 2 )=φ or otherwise, if match(α 2 ,α 1 )=φ, 
 and 
 Smatch(( t 1 t 2 ),( t′ 1 t′ 2 ))=φ 1 ∪φ 2 
 if Smatch( t 1 ,t′ 1 )=φ 1 Smatch(φ 1 ( t 2 ),φ 1 ( t′ 2 ))=φ 2 , where α represents atoms, Φ represents a substitution, and t and t′ represent binary trees.