Keras create custom network with certain unconnected neurons
I believe you can do this using the functional API and playing around with your input. Suppose you have the sets of input features (can be singleton sets) $a$,$b$,and $c$ for some $x$ in $X$. If you split your input into $X_a$, $X_b$, and $X_c$, where all elements in $x$ is transformed to include only features in $a$, you can theoretically build this model. 

Here's a code snippet demonstrating this idea, given $X_a$, $X_b$, and $X_c$, and their corresponding shapes. You could widen this model by expanding the fully-connected layers (by increasing the variable set to 1 in the Dense calls). No promises on the code working off the bat: I've brushed over some details but this should give you a start on your problem.

input_A = Input(shape=shape_A)
input_B = Input(shape=shape_B)
input_C = Input(shape=shape_C)
A = Dense(1)(input_A)
A = Dense(1)(A) 
B = Merge([input_A, input_B, input_C], mode='concat')
B = Dense(1)(B) 
C = Merge([A,B],mode='concat)
C = Dense(1)(C)
B = Merge([A,B],mode='concat)
B = Dense(1)(B)
A = Dense(1)(A)


From here, if you want one output, you can call merge on $A$, $B$, and $C$ and then tack on a Dense (Fully-Connected) layer with, for example, a Softmax layer for multi-label classification.