diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index 72155ecb1ff32ec791dd4fd62cb1018ec84ff70c..91972b0ba290f30f1c883556db0197d042721b55 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -2,6 +2,7 @@ from collections import OrderedDict, Mapping
 from typing import Any
 from urllib import parse
 
+from django.conf import settings
 from django.core.exceptions import ImproperlyConfigured
 from django.core.exceptions import ValidationError as DjangoValidationError
 from django.core.urlresolvers import get_resolver, resolve, get_script_prefix, Resolver404
@@ -221,7 +222,10 @@ class LDPSerializer(HyperlinkedModelSerializer):
 
     def to_representation(self, obj):
         data = super().to_representation(obj)
-
+        slug_field = Model.slug_field(obj)
+        for field in data:
+            if isinstance(data[field], dict) and'@id' in data[field]:
+                data[field]['@id'] = data[field]['@id'].format(Model.container_id(obj), str(getattr(obj, slug_field)))
         rdf_type = Model.get_meta(obj, 'rdf_type', None)
         rdf_context = Model.get_meta(obj, 'rdf_context', None)
         if rdf_type is not None:
@@ -247,17 +251,18 @@ class LDPSerializer(HyperlinkedModelSerializer):
                     from djangoldp.views import LDPViewSet
 
                     serializer_generator = LDPViewSet(model=model_class,
-                                            lookup_field=Model.get_meta(model_class, 'lookup_field', 'pk'),
-                                            permission_classes=Model.get_meta(model_class, 'permission_classes', []),
-                                            fields=Model.get_meta(model_class, 'serializer_fields', []),
-                                            nested_fields=Model.get_meta(model_class, 'nested_fields', []))
+                                                      lookup_field=Model.get_meta(model_class, 'lookup_field', 'pk'),
+                                                      permission_classes=Model.get_meta(model_class,
+                                                                                        'permission_classes', []),
+                                                      fields=Model.get_meta(model_class, 'serializer_fields', []),
+                                                      nested_fields=Model.get_meta(model_class, 'nested_fields', []))
                     parent_depth = max(getattr(self.parent.Meta, "depth", 0) - 1, 0)
                     serializer_generator.depth = parent_depth
                     serializer_generator.many_depth = max(getattr(self.parent.Meta, "many_depth", 0) - 1, 0)
                     serializer = serializer_generator.build_serializer()(context=self.parent.context)
                     if parent_depth is 0:
-                        serializer.Meta.fields=["@id"]
-                    return {'@id': '',
+                        serializer.Meta.fields = ["@id"]
+                    return {'@id': '{}{}{}/'.format(settings.SITE_URL, '{}{}/', self.source),
                             '@type': 'ldp:Container',
                             'ldp:contains': [serializer.to_representation(item) if item is not None else None for item
                                              in data],
diff --git a/djangoldp/tests/runner.py b/djangoldp/tests/runner.py
index c3d2bf25f3b29e63219831892fbfcf451461e5c2..296716a1aeb175693462c90389eaa903b5905796 100644
--- a/djangoldp/tests/runner.py
+++ b/djangoldp/tests/runner.py
@@ -44,7 +44,9 @@ settings.configure(DEBUG=True,
                                    'guardian',
                                    'djangoldp',
                                    'djangoldp.tests',
-                                   ))
+                                   ),
+                   SITE_URL = 'http://happy-dev.fr',
+                   )
 
 
 django.setup()
diff --git a/djangoldp/tests/tests_get.py b/djangoldp/tests/tests_get.py
index 21c4b71eb0c230ac2eb60085690de081f6a089a6..6d25c1d4049b8f94a294b38e44bccb32b87065ad 100644
--- a/djangoldp/tests/tests_get.py
+++ b/djangoldp/tests/tests_get.py
@@ -50,6 +50,7 @@ class TestGET(APITestCase):
         response = self.client.get('/job-offers/{}/'.format(job.slug), content_type='application/ld+json')
         self.assertEqual(response.status_code, 200)
         self.assertIn('recent_skills', response.data)
+        self.assertEqual(response.data['recent_skills']['@id'], "http://happy-dev.fr/job-offers/1/recent_skills/")
 
     def test_get_reverse_filtered_fields(self):
         skill = Skill.objects.create(title="Java", obligatoire="ok", slug="1")
@@ -59,3 +60,5 @@ class TestGET(APITestCase):
         response = self.client.get('/skills/{}/'.format(skill.slug), content_type='application/ld+json')
         self.assertEqual(response.status_code, 200)
         self.assertIn('recent_jobs', response.data)
+        self.assertEqual(response.data['recent_jobs']['@id'], "http://happy-dev.fr/skills/1/recent_jobs/")
+