I am trying to create the following picture with tikz 
I have found this block of code, which outputs a similar result of what I want to get:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning, arrows ,calc}
\tikzset{
modal/.style={>=stealth’,shorten >=1pt,shorten <=1pt,auto,node distance=1.5cm,
semithick},
world/.style={circle,draw,minimum size=0.5cm,fill=gray!15},
point/.style={circle,draw,inner sep=0.5mm,fill=black},
reflexive above/.style={->,loop,looseness=7,in=120,out=60},
reflexive below/.style={->,loop,looseness=7,in=240,out=300},
reflexive left/.style={->,loop,looseness=7,in=150,out=210},
reflexive right/.style={->,loop,looseness=7,in=30,out=330}
}
\begin{document}
\begin{tikzpicture}[modal,node distance=4cm]
\node (A) {A};
\node (E) [right=of A] {E};
\node (I) [below=of A] {I};
\node (O) [below=of E] {O};
\coordinate (CENTER) at ($(A)!0.5!(O)$);
\node (contra) at (CENTER) {contradictory};
\path[<->] (A) edge node[above] {contrary} (E);
\path[<->] (I) edge node[below] {subcontrary} (O);
\path[->] (A) edge node[above,rotate=90] {subaltern} (I);
\path[->] (E) edge node[above,rotate=-90] {subaltern} (O);
\path[->] (contra) edge (A);
\path[->] (contra) edge (E);
\path[->] (contra) edge (I);
\path[->] (contra) edge (O);
\end{tikzpicture}
\end{document}
The problem is that I don't know how to add some text near the nodes, without changing the pointing of the arrows.
Furthermore, I get this error: Package pgf Error: Unknown arrow tip kind 'stealth’'.

\documentclassand ending with\end{document}. Your code isen't compilable, so we can't see your result (still now). – Bobyandbob May 27 '17 at 13:28\node[label=east:text] (E) [right=of A] {E};and\node[label=west:text] (I) [below=of A] {I};– Bobyandbob May 27 '17 at 13:43