Graphic extensions are new graphic symbols introduced as abbreviations for complex patterns .They allow simplifying the diagrams significantly, while preserving all the information accumulated in those diagrams.
Here we shall continue with the specifications pertained to Nitrogen Cycle. In the previous sections we already have had some examples. Now we will put them together and add new specifications- for organic and mineral nitrogen, plant uptake and mineralization. For time being we will treat plant uptake , mineralization, organic nitrogen , and mineral nitrogen as objects.
nitrogen_compound::chemical_agent.
nitrogen[label->'N']:nitrogen_compound.
nitrogen_gas[label->'N2']:nitrogen_compound.
ammonia[label->'NH3']:nitrogen_compound.
ammonium[label->'NH4']:nitrogen_compound.
nitrous_oxide[label->'N2O']:nitrogen_compound.
nitric_oxide[label->'NO']:nitrogen_compound.
nitrogen_dioxide[label->'NO2']:nitrogen_compound.
nitrite_ion[label->'NO2-']:nitrogen_compound.
nitrate_ion[label->'NO3-']:nitrogen_compound.
stock[agent*=>chemical_agent, ispartof*=>container, quantity*=>value].
flow[source*=>stock, target*=>stock, agent*=>chemical_agent, intensity*=>value].
distributed_stock::stock.
distributed_stock[ related_agents*=>>chemical_agent].
distributed_flow::flow.
distributed_flow[source*=>distributed_stock, target*=>distributed_stock].
container[stocks*=>>stock, distributed_stocks*=>>distributed_stock].
//the new things start from here
biota:container.
soil:container.
organic_nitrogen:distributed_stock.
organic_nitrogen[ispartof*->biota].
organic_nitrogen[agent*->nitrogen,related_agents*->>X:nitrogen_compound ].
mineral_nitrogen:distributed_stock.
mineral_nitrogen[ispartof*->soil].
mineral_nitrogen[agent*->nitrogen, related_agents*->>{ammonia, ammonium,
nitrate_ion, nitrite_ion}].
mineralization:distributed_flow.
mineralization[source*->organic_nitrogen, target*->mineral_nitrogen].
plant_uptake:distributed_flow.
plant_uptake[source*->mineral_nitrogen, target*->organic_nitrogen].
The knowledge base we see is far more complex than any other we saw so far. It is not surprising that its graphic representation is also complex. Here it is:

Alternative drawing of the same diagram
As our diagrams grow larger their readability become increasingly difficult. The diagram above stays near the threshold of readability. We can ask a question: Is there any way to split the diagram into pieces and view different pieces separately? One general suggestion is that we can view separately the class signatures and the diagram which describe the instances of these classes. But then perhaps there is no generic good answer on this question. The answer entirely depends on the implementation of GFL. Another question that can arise - is there any way to device abbreviations for the homogeneous parts of the diagram? And this question gives a key insight into our graphic extension philosophy.
C 2003 S. Krivov Send your comments to skrivov@zoo.uvm.edu