【问题标题】:GitHub to share a set of SPARQL queriesGitHub 分享一组 SPARQL 查询
【发布时间】:2015-10-29 18:25:34
【问题描述】:

我正在使用 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 查询并编辑他们的查询,但是对于不知情的用户,我如何避免造成混乱?

【问题讨论】:

    标签: github github-api pastebin opendata


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多