Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
 public VocabElementList AddElement(VocabElement element)
 {
     this.elements.Add(element);
     return this;
 }