0

我正在使用 github 共享一组 SPARQL 查询:

http://www.boisvert.me.uk/opendata/sparql_aq+.html?file=specific%20sensor.txt

目前,简单的工作允许最终用户访问存储在 github 存储库中的查询,但最终我希望他们也可以修改查询,就像使用 pastebin 一样,并利用存储库更好地管理共享系统。理想情况下,我希望可能不太精通技术的最终用户能够对开放的链接数据端点的查询进行微小的更改:从而保持较低的技术壁垒。

我的问题是:如何最好地构建 github 项目并利用 API 来充分利用可用信息?我可以想到不同的观点:

  • 目前该项目 ( https://github.com/boisvert/unshaql ) 包含客户端代码和示例查询。为 SPARQL 查询创建一个独立的项目(与 Web 客户端代码分开)有什么不同吗?
  • 我会使用项目中的目录来分类/标记查询,并使用文件名来命名它们。有更好的选择吗?让我印象深刻的是,层次结构不适合标签。
  • 当最终用户保存时,一个更简单(更粗略)的选项是允许他们将文件推送到一个包含示例的分支中。一个更好的设计是允许他们使用他们的 github 凭证来分叉一组 SPARQL 查询并编辑他们的查询,但是对于不知情的用户,我如何避免造成混乱?
4

1 回答 1

1

我认为一个简单的 Github 存储库不适合这种内容。如果您的用户有 GitHub 帐户,您可能应该改用 Gists:https ://help.github.com/articles/about-gists/我自己从未使用过它,但它似乎完全适合您的计划。您的网站可能会成为用户提供的要点上的标签数据库。但是,这会将您锁定在特定于 GitHub 的解决方案中。

即使您使用常规存储库,也不应允许用户提交到托管您的代码的存储库:这将是一个严重的安全隐患,因为您将无法控制允许他们访问的存储库部分承诺。

如果您设置了两个存储库,则很容易将网页的代码放在一个存储库中,并且代码会自动提交到另一个存储库中(以匿名身份,这样您的用户就不必创建 github 帐户)。

另外,请注意,oauth 令牌永远不应存储在公共存储库中(否则 GitHub 机器人将在几个小时内使其失效)。有关此子问题的解决方案,请参阅在 .gitconfig 中隐藏 GitHub 令牌。

于 2015-10-31T14:23:22.733 回答