diff --git modules/comment/comment.module modules/comment/comment.module
index 950d4a6..c3b4c1e 100644
--- modules/comment/comment.module
+++ modules/comment/comment.module
@@ -2129,8 +2129,12 @@ function template_preprocess_comment(&$variables) {
   $variables['new']       = !empty($comment->new) ? t('new') : '';
   $variables['picture']   = theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', array('account' => $comment)) : '';
   $variables['signature'] = $comment->signature;
-  $variables['title']     = l($comment->subject, 'comment/' . $comment->cid, array('fragment' => "comment-$comment->cid"));
-  $variables['permalink'] = l('#', 'comment/' . $comment->cid, array('fragment' => "comment-$comment->cid"));
+  // The comment_url key is introduced to avoid calling the l() and url() too
+  // many times and save on performance.
+  // @todo push comment_url in the $comment object to benefit from entity cache.
+  $variables['comment_url'] = url('comment/' . $comment->cid, array('fragment' => 'comment-' . $comment->cid));
+  $variables['title']     = '<a href="' . $variables['comment_url'] . '">' . check_plain($comment->subject) . '</a>';
+  $variables['permalink']     = '<a href="' . $variables['comment_url'] . '">#</a>';
 
   // Preprocess fields.
   field_attach_preprocess('comment', $comment, $variables['elements'], $variables);
diff --git modules/rdf/rdf.module modules/rdf/rdf.module
index 1126931..77a98f9 100644
--- modules/rdf/rdf.module
+++ modules/rdf/rdf.module
@@ -326,6 +326,19 @@ function rdf_entity_load($entities, $type) {
 }
 
 /**
+ * Implements hook_comment_load().
+ */
+function rdf_comment_load($comments) {
+  foreach ($comments as $comment) {
+    $comment->rdf_data['date'] = rdf_rdfa_attributes($comment->rdf_mapping['created'], $comment->created);
+    $comment->rdf_data['nid_uri'] = url('node/' . $comment->nid);
+    if ($comment->pid) {
+      $comment->rdf_data['pid_uri'] = url('comment/' . $comment->pid, array('fragment' => 'comment-' . $comment->pid));
+    }
+  }
+}
+
+/**
  * Implements hook_theme().
  */
 function rdf_theme() {
@@ -540,13 +553,13 @@ function rdf_preprocess_comment(&$variables) {
     // Adds RDFa markup to the comment container. The about attribute specifies
     // the URI of the resource described within the HTML element, while the
     // typeof attribute indicates its RDF type (e.g. sioc:Post, etc.).
-    $variables['attributes_array']['about'] = url('comment/' . $comment->cid, array('fragment' => 'comment-' . $comment->cid));
+    $variables['attributes_array']['about'] = $variables['comment_url'];
     $variables['attributes_array']['typeof'] = $comment->rdf_mapping['rdftype'];
   }
 
   // Adds RDFa markup for the date of the comment.
   if (!empty($comment->rdf_mapping['created'])) {
-    $date_attributes_array = rdf_rdfa_attributes($comment->rdf_mapping['created'], $comment->created);
+    $date_attributes_array = $comment->rdf_data['date'];
     $variables['rdf_template_variable_attributes_array']['created'] = $date_attributes_array;
   }
   // Adds RDFa markup for the relation between the comment and its author.
@@ -574,13 +587,13 @@ function rdf_preprocess_comment(&$variables) {
   if (!empty($comment->rdf_mapping['pid'])) {
     // Relation to parent node.
     $parent_node_attributes['rel'] = $comment->rdf_mapping['pid']['predicates'];
-    $parent_node_attributes['resource'] = url('node/' . $comment->nid);
+    $parent_node_attributes['resource'] = $comment->rdf_data['nid_uri'];
     $variables['rdf_metadata_attributes_array'][] = $parent_node_attributes;
 
     // Relation to parent comment if it exists.
     if ($comment->pid != 0) {
       $parent_comment_attributes['rel'] = $comment->rdf_mapping['pid']['predicates'];
-      $parent_comment_attributes['resource'] = url('comment/' . $comment->pid, array('fragment' => 'comment-' . $comment->pid));
+      $parent_comment_attributes['resource'] = $comment->rdf_data['pid_uri'];
       $variables['rdf_metadata_attributes_array'][] = $parent_comment_attributes;
     }
   }
