diff --git a/lib/dotify.js b/lib/dotify.js
index <HASH>..<HASH> 100644
--- a/lib/dotify.js
+++ b/lib/dotify.js
@@ -102,6 +102,14 @@ function dotify(SuperConstructor) {
     delete this._children[id];
   };
 
+  Constructor.prototype.graph = function(value) {
+    if (arguments.length < 1) {
+      return SuperConstructor.prototype.graph.call(this);
+    }
+    this._checkValueType(value);
+    return SuperConstructor.prototype.graph.call(this, value);
+  };
+
   Constructor.prototype.node = function(u, value) {
     if (arguments.length < 2) {
       return SuperConstructor.prototype.node.call(this, u);
diff --git a/test/abstract-dotify-test.js b/test/abstract-dotify-test.js
index <HASH>..<HASH> 100644
--- a/test/abstract-dotify-test.js
+++ b/test/abstract-dotify-test.js
@@ -160,6 +160,12 @@ module.exports = function(name, Constructor) {
     });
   });
 
+  describe("graph", function() {
+    it("only allows objects for value", function() {
+      assert.throws(function() { g.graph("string"); });
+    });
+  });
+
   describe("addNode", function() {
     it("defaults to an empty object for value", function() {
       g.addNode(1);
Only allow objects as values for Dot(Dig|G)raph