我正在尝试创建一个可识别的可读本体。我从一个4GB的.nt文件开始,解析出我想要使用的所需类和实例。这些都存储在内存中,因为我把它记录到不到1分钟,大约1GB。它们以Dictionary>的形式出现。马上。下一步是获取该数据并将其移至OWL本体。是否有任何地方可以开始如何手动循环并执行此操作?我所有的研究都指向我使用曼彻斯特OWL,但我能找到的一切都是用于不符合我需要的现有工具。我正在寻找一个简单的循环可能与LINQ to XML,我不知道如何格式化或在哪里寻找如何做到这一点。
由于 麦
答案 0 :(得分:0)
你可以从这个
开始using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string definition =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<Ontology xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" +
" xsi:schemaLocation=\"http://www.w3.org/2002/07/owl# http://www.w3.org/2009/09/owl2-xml.xsd\"" +
" xmlns=\"http://www.w3.org/2002/07/owl#\"" +
" xml:base=\"http://example.com/myOntology\"" +
" ontologyIRI=\"http://example.com/myOntology\">" +
"</Ontology>";
XDocument doc = XDocument.Parse(definition);
XElement ontology = (XElement)doc.FirstNode;
XNamespace ns = ontology.Name.Namespace;
ontology.Add(new XElement[] {
new XElement(ns + "Prefix", new XAttribute[] {
new XAttribute("name", "myOnt"),
new XAttribute("IRI", "http://example.com/myOntology#")
}),
new XElement(ns + "Import", "http://example.com/someOtherOntology")
});
}
}
}