private static IEnumerable GetDtdlDisplayNameTriples()

in OWL2DTDL/Program.cs [976:999]


        private static IEnumerable<Triple> GetDtdlDisplayNameTriples(OntologyResource resource, INode subjectNode)
        {
            IGraph dtdlModel = subjectNode.Graph;
            IEnumerable<ILiteralNode> labels = resource.Label;
            IUriNode dtdl_displayName = dtdlModel.CreateUriNode(DTDL.displayName);

            IEnumerable<ILiteralNode> nonLocalizedLabels = labels.Where(node => node.Language == string.Empty);
            if (nonLocalizedLabels.Any())
            {
                ILiteralNode labelNode = dtdlModel.CreateLiteralNode(string.Concat(nonLocalizedLabels.First().Value.Take(64)), "en");
                Triple retVal = new Triple(subjectNode, dtdl_displayName, labelNode);
                return new List<Triple> { retVal };
            }
            else
            {
                List<Triple> triples = new List<Triple>();
                foreach (ILiteralNode label in labels)
                {
                    ILiteralNode labelNode = dtdlModel.CreateLiteralNode(string.Concat(label.Value.Take(64)), label.Language);
                    triples.Add(new Triple(subjectNode, dtdl_displayName, labelNode));
                }
                return triples;
            }
        }