diff --git a/packages/common/jsonld.js b/packages/common/jsonld.js
index c6b7b2a4892a131efb68868b7ff0c8b1e05acd5d..0d34d188c0b1795981136cc22e257874294d0cef 100644
--- a/packages/common/jsonld.js
+++ b/packages/common/jsonld.js
@@ -216,19 +216,19 @@ export default class JSONLD {
      * Expands a member of a list to a object with schema.org properties
      *
      * @param member
+     * @param [context]
      */
-    expandMember(member) {
-        const type = member["@type"];
+    expandMember(member, context) {
+        if (context === undefined) {
+            context = member["@context"];
+        }
 
-        const entity = this.getEntityForIdentifier(type);
         let result = {"@id": member["@id"]};
-
-        entity["hydra:supportedProperty"].forEach(function (property) {
-            const id = property["hydra:property"]["@id"];
-            const title = property["hydra:title"];
-
-            result[id] = member[title];
-        });
+        for (const key of Object.keys(context)) {
+            const value = context[key];
+            if (member[key] !== undefined)
+                result[value] = member[key];
+        }
 
         return result;
     }
@@ -239,7 +239,7 @@ export default class JSONLD {
      * @param member
      * @param localContext
      */
-    static compactMember(member, localContext) {
+    compactMember(member, localContext) {
         let result = {};
 
         for (const property in localContext) {
@@ -267,11 +267,12 @@ export default class JSONLD {
             return [];
         }
 
+        const otherContext = data['@context'];
         let results = [];
         let that = this;
 
         members.forEach(function (member) {
-            results.push(JSONLD.compactMember(that.expandMember(member), localContext));
+            results.push(that.compactMember(that.expandMember(member, otherContext), localContext));
         });
 
         return results;