0

今天是个好日子。我在教程中的示例中编写代码:

Space = new OntologyGraph();
FileLoader.Load(Space, "C:/Users/Serega/Desktop/MAS/SpaceWorld.owl");
OntologyClass Spacemans = Space.CreateOntologyClass(new Uri("C:/Users/Serega/Desktop/MAS/SpaceWorld/Spaceman"));

最后在“空间”中,我将所有字段分配为空,但是当我在 Visual Studio 中单击“空间”上的“结果视图”时,我可以在正确的字段中看到正确的 OWL 数据。我做错了什么或不明白?

然后,如果我尝试从“空间”获取数据:

OntologyClass Spacemans = Space.CreateOntologyClass(Space.CreateUriNode("owl:Spaceman"));

“Spacemans”在“ResultView”中分配了空值并且没有数据。

4

1 回答 1

0

您可能不会查找实际存在于您的数据中的 URI,但由于您没有显示您的数据,我们只能猜测这一点。

首先,您在数据中寻找C:/Users/Serega/Desktop/MAS/SpaceWorld/Spaceman几乎可以肯定在您的数据中不存在的 URI(但您没有显示它,所以我们不能肯定地说)

其次,您正在查找前缀名称owl:Spaceman。这将通过连接owl最有可能的名称空间http://www.w3.org/2002/07/owl#(但您没有看到您的数据,所以我们无法确定)来扩展为一个 URI,这Spaceman意味着您正在寻找http://www.w3.org/2002/07/owl#Spaceman可能不在您的数据。

尝试转储您的数据以查看其中实际包含哪些 URI:

NTriplesFormatter formatter = new NTriplesFormatter();
foreach (Triple t in Space.Triples)
{
  Console.WriteLine(t.ToString(formatter));
}
于 2015-07-21T15:10:57.160 回答