首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dotNetRDF库在C# .Net中向Virtuoso插入RDF数据

使用dotNetRDF库在C# .Net中向Virtuoso插入RDF数据
EN

Stack Overflow用户
提问于 2016-10-13 16:07:50
回答 1查看 524关注 0票数 1

我想知道如何使用dotNetRDF在Virtuoso中插入RDF (下载了这样的字符串)。

例如,我阅读了您在这个链接上找到的RDF数据:"http://publications.europa.eu/resource/cellar/fdc34ca7-6cbf-4f81-8bbd-e7255ccfa0c2.0005/rdf/object/full

代码语言:javascript
复制
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:j.0="http://publications.europa.eu/ontology/cdm#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:j.1="http://www.w3.org/2004/02/skos/core#"
    xmlns:j.2="http://publications.europa.eu/ontology/annotation#"
    xmlns:j.3="http://publications.europa.eu/ontology/cdm/cmr#" > 
  <rdf:Description rdf:about="http://publications.europa.eu/resource/cellar/fdc34ca7-6cbf-4f81-8bbd-e7255ccfa0c2.0005.02">
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA.print"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/cellar/fdc34ca7-6cbf-4f81-8bbd-e7255ccfa0c2.0005">
    <j.3:metsStructSuperDiv rdf:resource="http://publications.europa.eu/resource/cellar/fdc34ca7-6cbf-4f81-8bbd-e7255ccfa0c2"/>
    <j.3:lang rdf:datatype="http://www.w3.org/2001/XMLSchema#language">fr</j.3:lang>
    <j.3:lang rdf:datatype="http://www.w3.org/2001/XMLSchema#language">fra</j.3:lang>
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/celex/31998R2278.FRA"/>
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/uriserv/OJ.L_.1998.286.01.0013.01.FRA"/>
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA"/>
    <j.3:lastModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2014-04-04T10:21:30.312+02:00</j.3:lastModificationDate>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA">
    <j.0:uses rdf:resource="http://publications.europa.eu/resource/authority/language/FRA"/>
    <j.0:expression_title_information_additional rdf:datatype="http://www.w3.org/2001/XMLSchema#string">CELEX1</j.0:expression_title_information_additional>
    <j.0:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Règlement (CE) n° 2278/98 de la Commission du 22 octobre 1998 déterminant la mesure dans laquelle les demandes de certificats d'importation introduites en octobre 1998 pour certains produits du secteur de la viande de porc peuvent être acceptées dans le cadre du régime prévu par le règlement (CE) n° 774/94 du Conseil portant ouverture et mode de gestion de certains contingents tarifaires communautaires pour la viande porcine et certains autres produits agricoles</j.0:title>
    <j.0:title_information_additional rdf:datatype="http://www.w3.org/2001/XMLSchema#string">CELEX1</j.0:title_information_additional>
    <j.0:expression_belongs_to_work rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007"/>
    <j.0:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">CELEX1</j.0:title>
    <j.0:expression_manifested_by_manifestation rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA.print"/>
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#expression"/>
    <j.0:expression_title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Règlement (CE) n° 2278/98 de la Commission du 22 octobre 1998 déterminant la mesure dans laquelle les demandes de certificats d'importation introduites en octobre 1998 pour certains produits du secteur de la viande de porc peuvent être acceptées dans le cadre du régime prévu par le règlement (CE) n° 774/94 du Conseil portant ouverture et mode de gestion de certains contingents tarifaires communautaires pour la viande porcine et certains autres produits agricoles</j.0:expression_title>
    <j.0:expression_uses_language rdf:resource="http://publications.europa.eu/resource/authority/language/FRA"/>
    <j.2:build_info>cdm:CDM_2.1.7  tdm:1523  xslt:3945 saxon:9.0.0.1J JVM:1.6.0_29 metaconvJar:1.2.0 builddate:04/04/2014 01:00:03</j.2:build_info>
    <j.0:expression_manifested_by_manifestation rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA.pdf"/>
    <j.0:belongs_to rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007">
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#legislation_secondary"/>
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#work"/>
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#resource_legal"/>
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#regulation"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/authority/language/FRA">
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#language"/>
    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
    <j.1:inScheme rdf:resource="http://publications.europa.eu/resource/authority/language"/>
    <j.0:language_used_by_expression rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA.pdf">
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#manifestation"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/cellar/fdc34ca7-6cbf-4f81-8bbd-e7255ccfa0c2">
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007"/>
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/eli/reg/1998/2278/oj"/>
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/celex/31998R2278"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA.print">
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#manifestation_official-journal_part"/>
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#manifestation"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://publications.europa.eu/resource/cellar/fdc34ca7-6cbf-4f81-8bbd-e7255ccfa0c2.0005.01">
    <rdf:type rdf:resource="http://publications.europa.eu/ontology/cdm#manifestation"/>
    <owl:sameAs rdf:resource="http://publications.europa.eu/resource/oj/JOL_1998_286_R_0013_007.FRA.pdf"/>
  </rdf:Description>
</rdf:RDF>

我将它存储在字符串中(通过使用HttpWebRequest),但我不知道如何通过dotNetRDF将它插入到Virtuoso中。有什么想法吗?

此外,如何在UserAgent函数上设置QueryWithResultSet?在这个EndPoint:http://publications.europa.eu/webapi/rdf/sparql上,我必须设置UserAgent,否则我无法从。

谢谢

PS:我不能直接从目标服务器加载RDF,因为有502个坏网关错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-17 09:10:33

如果需要自定义SparqlRemoteEndpoint,则可以扩展HttpWebRequest并重写HttpWebRequest方法,例如添加UserAgent头:

代码语言:javascript
复制
public class MyCustomEndpoint : SparqlRemoteEndpoint
{
  // Define appropriate constructors with the parameters you need e.g.
  public MyCustomEndpoint(Uri endpointUri)
    : base(endpointUri) { }     

  protected override ApplyCustomRequestOptions(HttpWebRequest request)
  {
     request.UserAgent = "My Custom User Agent"
  } 
}

ApplyCustomRequestOptions()方法是在每个HttpWebRequest提交之前调用的,因此可以用来进行任何所需的定制。然后,只需根据需要使用MyCustomEndpoint代替SparqlRemoteEndpoint

有关可用方法和属性的更多细节,始终可以参考SparqlRemoteEndpoint文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40025957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档