我有一个由 tomcat 服务器供电的网站。我的应用程序点击了一个 TripleStore,我想通过 www.mywebsiteaddress/sparql 上的 sparql 端点将其公开。
我的网络服务器需要什么配置才能做到这一点?
我在后台使用 Jena Fuseki,它在端口 3030 上运行,而我的网络服务器在端口 80 上。
我的想法是,当网络服务器在端口 80 上收到关于 ..../sparql 的请求时,它会重定向到 fusioni sprql endPoint
最佳答案
这更多的是一个 Web 服务/访问控制问题,而不是任何与 SPARQL 相关的问题。然而,由于 SPARQL 端点应该根据 SPARQL 规范创建,我认为这是一个有效的问题,因为我确信人们将来会再次遇到它。
因此,为了回答您的问题,“公共(public)”通常意味着设置某些 header ,以便允许请求在不是来自同一域时到达端点。从那里,您可以专门允许与端点进行某些类型的交互。如果您想允许一切,您可以设置以下 header :
'Access-Control-Allow-Origin: *'
"Access-Control-Allow-Credentials: true"
'Access-Control-Allow-Headers: X-Requested-With'
'Access-Control-Allow-Headers: Content-Type'
'Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE //http://stackoverflow.com/a/7605119/578667
'Access-Control-Max-Age: 86400'
根据您构建端点的方式,它要么在您可以调整 header 的地方有一些设置,要么,如果您正在使用应用程序框架,您将找到应用程序框架本身的 header 设置。但是,一般来说,上述 header 会将其设为“公开”
关于webserver - 公开暴露 sparql 端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944547/