public void AddExpansionLinkset(ExpansionLinkset l) { if (!this._linksets.ContainsKey(l.Subject)) { this._linksets.Add(l.Subject, l); } }
protected override void Initialise(IGraph g) { if (g.BaseUri != null) this._node = g.CreateUriNode(); //First ensure all the correct namespace prefixes are set to the correct URIs g.NamespaceMap.AddNamespace("rdf", new Uri(NamespaceMapper.RDF)); g.NamespaceMap.AddNamespace("void", new Uri(VoIDNamespace)); g.NamespaceMap.AddNamespace("foaf", new Uri(FoafNamespace)); g.NamespaceMap.AddNamespace("dcterms", new Uri(DublinCoreTermsNamespace)); g.NamespaceMap.AddNamespace("aat", new Uri(AATNamespace)); //First look for an Expansion Profile description Triple profileDescriptor = new Triple(g.CreateUriNode(), g.CreateUriNode("rdf:type"), g.CreateUriNode("aat:ExpansionProfile")); if (g.ContainsTriple(profileDescriptor)) { //Does it specify a Max Expansion Depth? Triple maxDepthSpecifier = g.GetTriplesWithSubjectPredicate(g.CreateUriNode(), g.CreateUriNode("aat:maxExpansionDepth")).FirstOrDefault(); if (maxDepthSpecifier != null) { if (maxDepthSpecifier.Object.NodeType == NodeType.Literal) { ILiteralNode l = (ILiteralNode)maxDepthSpecifier.Object; if (l.DataType != null && l.DataType.ToString().Equals(XmlSpecsHelper.XmlSchemaDataTypeInteger)) { this._maxDepth = Int32.Parse(l.Value); } } } } //Find Datasets foreach (Triple t in g.GetTriplesWithPredicateObject(g.CreateUriNode("rdf:type"), g.CreateUriNode("void:Dataset"))) { ExpansionDataset dataset = new ExpansionDataset(g, t.Subject); if (this._datasets.ContainsKey(t.Subject)) { throw new NotImplementedException("Merging Expansion Datasets is not yet implemented"); } else { this._datasets.Add(t.Subject, dataset); } } //Find Linksets foreach (Triple t in g.GetTriplesWithPredicateObject(g.CreateUriNode("rdf:type"), g.CreateUriNode("void:Linkset"))) { ExpansionLinkset linkset = new ExpansionLinkset(g, t.Subject); if (this._linksets.ContainsKey(t.Subject)) { throw new NotImplementedException("Merging Expansion Linksets is not yet implemented"); } else { this._linksets.Add(t.Subject, linkset); } } }
protected override void Initialise(IGraph g) { if (g.BaseUri != null) { this._node = g.CreateUriNode(); } //First ensure all the correct namespace prefixes are set to the correct URIs g.NamespaceMap.AddNamespace("rdf", new Uri(NamespaceMapper.RDF)); g.NamespaceMap.AddNamespace("void", new Uri(VoIDNamespace)); g.NamespaceMap.AddNamespace("foaf", new Uri(FoafNamespace)); g.NamespaceMap.AddNamespace("dcterms", new Uri(DublinCoreTermsNamespace)); g.NamespaceMap.AddNamespace("aat", new Uri(AATNamespace)); //First look for an Expansion Profile description Triple profileDescriptor = new Triple(g.CreateUriNode(), g.CreateUriNode("rdf:type"), g.CreateUriNode("aat:ExpansionProfile")); if (g.ContainsTriple(profileDescriptor)) { //Does it specify a Max Expansion Depth? Triple maxDepthSpecifier = g.GetTriplesWithSubjectPredicate(g.CreateUriNode(), g.CreateUriNode("aat:maxExpansionDepth")).FirstOrDefault(); if (maxDepthSpecifier != null) { if (maxDepthSpecifier.Object.NodeType == NodeType.Literal) { ILiteralNode l = (ILiteralNode)maxDepthSpecifier.Object; if (l.DataType != null && l.DataType.ToString().Equals(XmlSpecsHelper.XmlSchemaDataTypeInteger)) { this._maxDepth = Int32.Parse(l.Value); } } } } //Find Datasets foreach (Triple t in g.GetTriplesWithPredicateObject(g.CreateUriNode("rdf:type"), g.CreateUriNode("void:Dataset"))) { ExpansionDataset dataset = new ExpansionDataset(g, t.Subject); if (this._datasets.ContainsKey(t.Subject)) { throw new NotImplementedException("Merging Expansion Datasets is not yet implemented"); } else { this._datasets.Add(t.Subject, dataset); } } //Find Linksets foreach (Triple t in g.GetTriplesWithPredicateObject(g.CreateUriNode("rdf:type"), g.CreateUriNode("void:Linkset"))) { ExpansionLinkset linkset = new ExpansionLinkset(g, t.Subject); if (this._linksets.ContainsKey(t.Subject)) { throw new NotImplementedException("Merging Expansion Linksets is not yet implemented"); } else { this._linksets.Add(t.Subject, linkset); } } }