如何在c#模型类中解析RDF本体(turtle文件)
我有本体文件。我想在我的图形数据库上编写OData服务。为此,我需要提供EdmModel以注册我的OData路线。但这无法完成,因为模式位于ttl文件中,也位于服务器中。根据这一点,我们可以通过从服务器获取模式来创建模型。但是代码有很多问题。有人知道如何将其转换为c#model类吗 我的海龟格式示例架构:如何在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
@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的实际情况
- 是一个将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”,您将在堆栈交换上找到更多链接