added IsCanonical
diff --git a/reference.go b/reference.go
index 792eb41..7accd00 100644
--- a/reference.go
+++ b/reference.go
@@ -76,6 +76,10 @@
 	return r.referencePointer.String()
 }
 
+func (r *JsonReference) IsCanonical() bool {
+	return (r.HasFileScheme && r.HasFullFilePath) || (!r.HasFileScheme && r.HasFullUrl)
+}
+
 // "Constructor", parses the given string JSON reference
 func (r *JsonReference) parse(jsonReferenceString string) error {