/// <summary> /// Gets the vocab element represented by this state instance. /// </summary> /// <returns>The vocab element represented by this state instance.</returns> public VocabElement GetVocabElement() { VocabElement vocabElement = new VocabElement(); // Map required attributes into the VocabElement vocabElement.Id = defaultQuads.GetPredicateQuad(VocabConstants.DC_NAMESPACE + "identifier").GetObject().GetValue(); vocabElement.Uri = defaultQuads.First().GetSubject().GetValue(); // Get optional attributes into the VocabElement String property = VocabConstants.RDFS_NAMESPACE + "subClassOf"; if (defaultQuads.HasPredicateQuad(property)) { vocabElement.Subclass = defaultQuads.GetPredicateQuad(property).GetObject().GetValue(); } property = VocabConstants.DC_NAMESPACE + "type"; if (defaultQuads.HasPredicateQuad(property)) { vocabElement.Type = defaultQuads.GetPredicateQuad(property).GetObject().GetValue(); } // Map the labels into the VocabElement var labels = defaultQuads.GetPredicateQuads(VocabConstants.RDFS_NAMESPACE + "label"); if (labels != null) { foreach (var label in labels) { var node = label.GetObject(); vocabElement.AddLabel(node.GetValue(), node.GetLanguage().ToLower()); } } // Map the descriptions into the VocabElement var descriptions = defaultQuads.GetPredicateQuads(VocabConstants.RDFS_NAMESPACE + "comment"); if (descriptions != null) { foreach (var description in descriptions) { var node = description.GetObject(); vocabElement.AddDescription(node.GetValue(), node.GetLanguage().ToLower()); } } return(vocabElement); }
public VocabElementList AddElement(VocabElement element) { this.elements.Add(element); return this; }