/// <summary> /// Delete prefix and associated namespace with it. /// </summary> /// <param name="prefixStr">Prefix</param> /// <param name="fullStr">Namespace</param> /// <returns>Returns 'True' if operation completed succeful, 'False' otherwise.</returns> public bool DeletePrefix(string prefixStr, string fullStr) { var val = TriplePrefixes.FirstOrDefault(x => x.Prefix == prefixStr && x.Namespace == fullStr); if (val != null) { TriplePrefixes.Remove(val); SaveChanges(); return(true); } return(false); }
public TripleName TryEnsureNamespace(TripleName name) { if (name.Namespace == null) { if (TripleName.PrefixesAndNamespaces.ContainsKey(name.Prefix)) { return(new TripleName(TripleName.PrefixesAndNamespaces[name.Prefix], name.Prefix, name.Name)); } var tr = TriplePrefixes.FirstOrDefault(x => x.Prefix == name.Prefix); return(tr != null ? new TripleName(tr.Namespace, name.Prefix, name.Name) : name); } else { return(name); } }
/// <summary> /// Add new prefix and associated namespace with it. /// </summary> /// <param name="prefixStr">Prefix</param> /// <param name="fullStr">Namespace</param> /// <returns>Returns 'True' if operation completed succeful, 'False' otherwise.</returns> public bool SetPrefix(string prefixStr, string fullStr) { var val = TriplePrefixes.FirstOrDefault(x => x.Prefix == prefixStr || x.Namespace == fullStr); if (val == null) { var t = new TriplePrefix { Namespace = fullStr, Prefix = prefixStr }; TriplePrefixes.Add(t); SaveChanges(); return(true); } return(false); }
/// <summary>Ensures that triple name has prefix. If triple name has namespace, it is converted to prefix</summary> /// <param name="name">Name of the triple</param> /// <returns>Name of the triple with prefix available</returns> 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); } }