in OWL2DTDL/DotNetRdfExtensions.cs [78:91]
public static Uri GetNamespace(this IUriNode node)
{
if (node.Uri.Fragment.Length > 0)
{
return new Uri(node.Uri.GetLeftPart(UriPartial.Path) + "#");
}
string nodeUriPath = node.Uri.GetLeftPart(UriPartial.Path);
if (nodeUriPath.Count(x => x == '/') >= 3)
{
string nodeUriBase = nodeUriPath.Substring(0, nodeUriPath.LastIndexOf("/", StringComparison.Ordinal) + 1);
return new Uri(nodeUriBase);
}
throw new UriFormatException($"The Uri {node.Uri} doesn't contain a namespace/local name separator.");
}