1

我有一个使用本体作为数据源的网站。我已经从本地驱动器中读取了文件,例如 c:\test.owl,它运行良好,但由于我想发布网站,我需要将 owl 文件的路径更改为可以访问的位置部署的网站;当我将 owl 文件复制到 App_data 文件夹或网站的主根目录时,出现运行时错误“无法从文件‘完整路径’中读取 RDF,因为它不存在。”

我正在使用 c#.net,为了读取 owl 文件,我使用 dotNetRDF 库。这是代码:

using VDS.RDF;
public void GetGraph()
{
 string fileUri = @"~\App_Data\FinalRecSysOntology.owl";
    // create a graph to load the owl file into it---------------
     IGraph g = new Graph();
    //load the OWL file------------------          
    g.LoadFromFile(fileUri);
}
4

1 回答 1

2

我找到了我的问题的答案; Server.MapPath在这些情况下有帮助。对于任何物理文件,此解决方案有助于在部署后从 Web 应用程序本身读取文件。这个问题 -解决方案根目录的 ASP.NET MapPath - 帮助了我。

这是代码;

 public string GetFileURI()
{
    string fileURI = HttpContext.Current.Server.MapPath("~/Data/FinalRecSysOntology.owl");
    return fileURI;
}
于 2015-10-22T11:28:39.630 回答