Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#模型类中解析RDF本体(turtle文件)_C#_Rdf_Graphdb_Turtle Rdf - Fatal编程技术网

如何在c#模型类中解析RDF本体(turtle文件)

如何在c#模型类中解析RDF本体(turtle文件),c#,rdf,graphdb,turtle-rdf,C#,Rdf,Graphdb,Turtle Rdf,我有本体文件。我想在我的图形数据库上编写OData服务。为此,我需要提供EdmModel以注册我的OData路线。但这无法完成,因为模式位于ttl文件中,也位于服务器中。根据这一点,我们可以通过从服务器获取模式来创建模型。但是代码有很多问题。有人知道如何将其转换为c#model类吗 我的海龟格式示例架构: @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02

我有本体文件。我想在我的图形数据库上编写OData服务。为此,我需要提供EdmModel以注册我的OData路线。但这无法完成,因为模式位于ttl文件中,也位于服务器中。根据这一点,我们可以通过从服务器获取模式来创建模型。但是代码有很多问题。有人知道如何将其转换为c#model类吗

我的海龟格式示例架构:

@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

@prefix : <http://www.example.com/schema/abc#> .

: a owl:Ontology .

# Class
:Organization a owl:Class ;
  rdfs:label "Organization"@en ;
  skos:definition ""@en .

# Properties
:Name a owl:DatatypeProperty ;
  rdfs:domain :Organization ;
  rdfs:range xsd:string .
:CreatedDate a owl:DatatypeProperty ;
  rdfs:domain :Organization ;
  rdfs:range xsd:dateTime .

# Relation
:hasRole a owl:ObjectProperty ;
  rdfs:domain :Organization ;
  rdfs:range :Role .  
@前缀owl:。
@前缀rdf:。
@前缀rdfs:。
@前缀skos:。
@前缀xsd:。
@前缀:。
:猫头鹰:本体论。
#阶级
:组织a猫头鹰:类;
rdfs:标签为“组织”@en;
skos:定义“@en”。
#性质
:命名owl:DatatypeProperty;
rdfs:域:组织;
rdfs:range xsd:string。
:CreatedDate一个owl:DatatypeProperty;
rdfs:域:组织;
rdfs:range xsd:dateTime。
#关系
:hasRole a owl:ObjectProperty;
rdfs:域:组织;
范围:角色。

有一些从SPARQL到OData的转换器。我没有试过,但这里有一些链接。如果您搜索“ODataRDF”或“ODataSPARQL”,您将在堆栈交换上找到更多链接

  • 是一个将dbpedia3.9作为OData公开的示例
    • 由数据模型驱动
    • 这也向您展示了OData/EDMX的优点(允许对实体进行更具体的描述并在它们之间进行导航)和缺点(甚至比OWL更详细)
    • 是一篇描述这种方法的文章:“OData服务由底层域模型驱动”。“我们尚未实现(从RDFS/OWL生成域模型),但我们相当有信心可以自动生成某种级别的可用OData服务元数据”
    • 在2013年4月的网络开放数据上发布:
  • Olingo2SPARQL:ApacheOlingo框架的ODataV2 SPARQL提供程序。
    • Odata4SPARQL:基于Odata4j框架构建的ODataV3sparql服务器。
    • 很好地解释了每种方法的优缺点
    • 似乎是基于上述“SPARQL/OData互操作提议的OData和SPARQL之间的W3C互操作代理(Kal Ahmed,2013)”。然而,卡尔·艾哈迈德在ODW13上的立场文件现在与W3C有关
    • 描述“OData和RDF/SPARQL之间的矛盾”(即阻抗不匹配)
    • 描述SPARQL结果(CSV)到OData的转换。因为数据是矩形的,所以这似乎有些过分,可以只使用ODBC/JDBC
    • 还有两个源文件
    • 描述了对复杂数据使用Tableau的实际情况

    • 有一些从SPARQL到OData的翻译器。我没有试过,但这里有一些链接。如果您搜索“ODataRDF”或“ODataSPARQL”,您将在堆栈交换上找到更多链接

      • 是一个将dbpedia3.9作为OData公开的示例
        • 由数据模型驱动
        • 这也向您展示了OData/EDMX的优点(允许对实体进行更具体的描述并在它们之间进行导航)和缺点(甚至比OWL更详细)
        • 是一篇描述这种方法的文章:“OData服务由底层域模型驱动”。“我们尚未实现(从RDFS/OWL生成域模型),但我们相当有信心可以自动生成某种级别的可用OData服务元数据”
        • 在2013年4月的网络开放数据上发布:
      • Olingo2SPARQL:ApacheOlingo框架的ODataV2 SPARQL提供程序。
        • Odata4SPARQL:基于Odata4j框架构建的ODataV3sparql服务器。
        • 很好地解释了每种方法的优缺点
        • 似乎是基于上述“SPARQL/OData互操作提议的OData和SPARQL之间的W3C互操作代理(Kal Ahmed,2013)”。然而,卡尔·艾哈迈德在ODW13上的立场文件现在与W3C有关
        • 描述“OData和RDF/SPARQL之间的矛盾”(即阻抗不匹配)
        • 描述SPARQL结果(CSV)到OData的转换。因为数据是矩形的,所以这似乎有些过分,可以只使用ODBC/JDBC
        • 还有两个源文件
        • 描述了对复杂数据使用Tableau的实际情况

      现在还不清楚你在找什么。您有一个包含本体的turtle文件,并且。。。什么?另外:您谈论的是“ThisBlog”和“there[他们的?]github代码”,但您没有提供指向这两个代码的链接。最后,您会问“有人知道如何将其转换为c#model类吗”-如何将什么、确切地转换为什么c#model类?很抱歉,我错过了链接。实际上,我希望我的RDF模型在C#类中转换,这样我就可以通过将EdmModel(在生成的类的帮助下)传递给它来注册OData路由。如果您有任何规格,请评论。链接是:现在还不清楚你在追求什么。您有一个包含本体的turtle文件,并且。。。什么?另外:您谈论的是“ThisBlog”和“there[他们的?]github代码”,但您没有提供指向这两个代码的链接。最后,您会问“有人知道如何将其转换为c#model类吗”-如何将什么、确切地转换为什么c#model类?很抱歉,我错过了链接。实际上,我希望我的RDF模型在C#类中转换,这样我就可以通过将EdmModel(在生成的类的帮助下)传递给它来注册OData路由。如果您有任何规格,请评论。链接是: