public TripleName EnsurePrefix(TripleName name)
{
if(name.Prefix == null) {
var found = TripleName.PrefixesAndNamespaces.FirstOrDefault(p => p.Value == name.Namespace );
if (found.Key != null)
return new TripleName(name.Namespace, found.Key, name.Name);
var tr = TriplePrefixes.FirstOrDefault(t => t.Namespace == name.Namespace);
if(tr != null)
return new TripleName(name.Namespace, tr.Prefix, name.Name);
else
throw new ArgumentException(String.Format("There is no known prefix for namespace {0}", name.Namespace));
} else
return name;
}