示例#1
0
 public static bool OfDocType(this ROntologyClassDefinition rdftype)
 {
     if (rdftype.Id == "document")
     {
         return(true);
     }
     if (rdftype.Id == "photo-doc")
     {
         return(true);
     }
     if (rdftype.Id == "video-doc")
     {
         return(true);
     }
     if (rdftype.Id == "audio-doc")
     {
         return(true);
     }
     if (rdftype.Id == "letter")
     {
         return(true);
     }
     //TODO: if (rdftype == "") return true;
     return(false);
 }
示例#2
0
        // Конструктор
        /// <summary>
        /// Initializes a new instance of the <see cref="SNode"/> class.
        /// </summary>
        /// <param name="x">
        /// The x.
        /// </param>
        /// <param name="resource">
        /// The resource.
        /// </param>
        /// <param name="rDataModel">
        /// The r data model.
        /// </param>
        internal protected SNode(XElement x, SResource resource, SDataModel rDataModel)
        {
            _rDataModel = rDataModel;
            _resource   = resource;

            _id = Coding(x.Attribute(SNames.rdfabout).Value);
            // RDFType = x.Name;
            //notFull = true;
            // _directProperties = new List<SProperty>();
            if (_rDataModel == null)
            {
                return;
            }
            Definition = _rDataModel is SOntologyModel
                ? new ROntologyClassDefinition(
                new XElement("Class",
                             new XAttribute(SNames.rdfabout, x.Name)), null, null)
                : _rDataModel.OntologyModel.GetOntologyNode <ROntologyClassDefinition>(x.Name.ToString())
                         ?? _rDataModel.OntologyModel.InsertNew <ROntologyClassDefinition>(x.Name, null, null, false);
            // if (!(_rDataModel is SOntologyModel)) Definition.AddInstance(this);
            foreach (var prop in x.Elements())
            {
                if (prop.Attribute(SNames.rdfresource) == null)
                {
                    _directProperties.Add(new SDataLink(prop, this));
                }
                else
                {
                    _directProperties.Add(new SObjectLink(prop, this));
                }
            }
        }