2016-08-21 20 views
2

我使用函数FileManager.get()。loadModel(url)。在Apache jena中加载模型,并且我也知道HTTP Response Link Header中可能有一些URL。我想从链接头中的链接(URL)加载模型。如何做?是否有任何内置的功能可以访问响应头中的标题和处理链接标题?如何在调用方法FileManager.get()时获取apache jena中的http响应头loadModel(url)

+0

“sparql”标记已删除。与问题无关。 – AndyS

回答

0

我不认为这是由耶拿支持。我没有看到有任何理由这样做。 HTTP请求完成获取数据,也可能获取响应类型。如果你想获得一些头字段的URL,为什么不干脆使用普通的旧式Java:

URL url = new URL("http://your_ontology.owl"); 
URLConnection conn = url.openConnection(); 
Map<String, List<String>> map = conn.getHeaderFields(); 
+0

这意味着我调用相同的URL两次。第一次当我通过URL加载模型,第二次获取头。 – Badman

+0

@Badman我认为AKSW隐含地说你可以使用'conn.getContent'来获得RDF内容,你可以将它加载到Jena中,这样你只能连接一次。 –

+0

@JoshuaTaylor我可以通过使用HttpGet来做到这一点,但我试图避免这种情况。我想在Apache jena中使用HttpOp.java来做到这一点。我想知道HttpContext,HttpAuthenticator,HttpClient在HttpOp.java中的execHttpGet()函数中是如何以及究竟做了什么? – Badman

2

FileManager.get().loadModel(url)包起来读一URL和分析结果到模型。它正在打包一件常见的事情;它并没有声称是全面的。这是一个相当古老的界面。

如果您希望对HTTP处理进行详细控制,请查看HttpOp(较低级别)机制是否有帮助,否则请在应用程序中执行处理,并将响应的输入流直接传递给解析器。

您也可能会发现查看RDFDataMgr.process中的代码以获取有关内容协商的帮助很有用。

相关问题