D a t a   w a r e h o u s e s   a r e   h i g h l y   s t r u c t u r e d   s t o r a g e   s y s t e m s   k e e p i n g   o n l y   f i l t e r e d   b u s i n e s s   a n d   o p e r a t i o n a l   s y s t e m   d a t a   f o r   a   s p e c i f i c   p u r p o s e .   A d v a n c e d   e x t e r n a l   s o u r c e s   a r e   p r a c t i c a l l y   i n f i n i t e ,   l i m i t e d   o n l y   b y   i m a g i n a t i o n   a n d   l a c k   o f   t e c h n o l o g i c a l   c a p a c i t i e s .   H a v i n g   c l e a r   c o m p a n y   d a t a   p o l i c i e s   w i l l   p r e v e n t   c o m m o n   e r r o r s   a n d   e n s u r e   c o m p l i a n c e   w i t h   d a t a   p r i v a c y   l a w s   a n d   r e g u l a t i o n s .   R e c e n t l y ,   h o w e v e r ,   t h e   e n g i n e e r   w h o   t o l d   m e   t h i s   s t o r y   l e t   m e   k n o w   t h e r e   w a s   a   h a p p y   e n d i n g .   H o w e v e r ,   i n   i t s   e s s e n c e ,   t h e   n o t i o n   i s   q u i t e   s t r a i g h t f o r w a r d .
Having clear data policies will prevent common errors.
( z0 prevent :ARG0 ( z1 have :ARG1 ( z2 policy :ARG1-of ( z3 clear ) :ARG2 ( z4 data ) ) ) :ARG1 ( z5 err :ARG1-of ( z6 share ) ) )
(z0 / prevent-01
    :ARG0 (z1 / have-03
              :ARG1 (z2 / policy-01
                        :ARG1-of (z3 / clear-06)
                        :ARG2 (z4 / data)))
    :ARG1 (z5 / err-01
              :ARG1-of (z6 / share-01)))
Having clear data policies will prevent common errors .
z2 :ARG2 z4
z2 :ARG1-of z3
z1 :ARG1 z2
z0 :ARG0 z1
z5 :ARG1-of z6
z0 :ARG1 z5