The first problem is that there is no base URI specified in the document itself. There is a @base directive set in the external context, but this is ignored by the parser (this is intended behavior, not a bug - see https://www.w3.org/TR/json-ld11/#base-iri
Not having a base URI is not an error in itself, but it means that if you parse the document as you do (by just parsing the document as a string input without supplying a base URI yourself), none of the relative identifiers (such as "id" : "AEP") will resolve to full IRIs. You can fix this by doing this:
...where of course the base URI should be something sensible (you could use the original URL of the document as its value, or perhaps the value of the @base directive set in the external context).
The second problem is that a lot of the properties used in the document are not mapped to identifiers in the context. The document uses properties such as "name" and "categories", the context contains no mapping for them. Therefore the parser will not be able to transform these properties into RDF statements, and this is why those do not show up in your output.