面对实际交付,我看database的重点不在星标,而在这项能力:Blazegraph 高性能图形数据库。一旦进入数据与知识处理环节,数据结构、更新策略和可追溯性会决定结果是否可信会直接影响交付,这也是我最关心的风险。短测时我会用一份规模可控且答案已知的数据集试跑,并保留模式兼容、增量更新、查询结果和来源追踪的结果,方便团队复盘。编辑判断上,需要保留数据来路与变更记录的使用者可以优先研究它;其他团队不必为了热门标签勉强接入。
欢迎来到 Blazegraph 数据库##
Blazegraph™ DB 是一个超高性能图形数据库,支持蓝图和 RDF/SPARQL APIs。它在单台机器上支持多达 500 亿条边。它已被财富 500 强客户(例如 EMC、Autodesk 等)投入生产使用。 它支持关键的 精准医学 应用,并在生命科学应用中广泛使用。 它广泛用于支持商业和正府应用程序中的网络分析。 它为维基媒体会的 维基数据查询服务 提供支持。
有关版本更改,请参阅 版本 中的发行说明。
注册 以获取 Blazegraph 的最新消息。
另请访问我们的:网站、wiki 和 博客。
发现问题? 需要帮助吗? 请参见 JIRA。
报告安全问题:安全报告。
快速启动可执行 Jar
在 30 秒内启动并运行 Blazegraph:快速入门。
在生产环境中部署
Blazegraph 的设计宗旨是易于使用和入门。因此,默认情况下,它出厂时没有 SSL 或身份验证。对于生产部署,我们强烈建议您启用 SSL、身份验证和适当的网络配置。下面有一些有用的链接可帮助您执行此操作。
启用 SSL 支持
要启用 SSL 支持,请取消注释示例 jetty.xml 并为本地密钥库配置它。
配置认证
默认情况下,Blazegraph 出厂时未启用身份验证。这对于使用 Blazegraph 进行开发、入门和研究非常有用。但是,不建议将其用于任何生产部署。要配置身份验证,您必须在 Web 应用程序容器中或通过反向代理配置进行配置。
请注意,多租户 的 Blazegraph 命名空间功能不提供安全隔离。可以访问服务器的基本 URI 的用户可以访问任何可用的命名空间。您可以通过身份验证配置和限制对特定命名空间 URIs、i.e 的访问的组合来进一步限制这一点。 /blazegraph/namespace/NAMESPACE/sparql。
有三个基本选项:
<Get name="securityHandler"> 部分来配置用于部署服务器的 jetty.xml 的身份验证。您需要创建 realm.properties 并更新 jetty.xml 以指向其在文件系统上的位置。 然后配置 web.xml 以取消注释安全约束。减少跨站点请求伪造 (CSRF)
如果您启用身份验证并公开 Blazegraph 工作台,您还应该采取措施防范 CSRF。 Tomcat8提供了一个可配置的CSRF过滤器。对于 Jetty,如果配置身份验证,也可以使用 SecurityHandler.setSessionRenewedOnAuthentication(true) 的默认值。 CSRF 保护可能需要 REST 客户端实现 HTTP 标头以用于与服务交互。
构建代码
作为快速启动,请运行 mvn install -DskipTests 或实用程序脚本 ./scripts/mavenInstall.sh 。
有关更详细的 Maven 信息,请参阅 wiki。
如果使用 Java 7 构建,则需要添加 TLS 1.2、i.e 的 Maven 选项。 export MAVEN_OPTS="-Dhttps.protocols=TLSv1.2"。
示例和示例
[此处] (https://github.com/blazegraph/blazegraph-samples) 有用于开始使用 Blazegraph 数据库的代码示例和示例。 Tinkerpop3 示例直接包含在 Tinkerpop3 存储库中,如下所示。
Java文档
单击此处查看最新的 API Javadocs。
Maven 中心
从 2.0.0 版本开始,Blazegraph 数据库可在 Maven Central 上使用。 要包含核心平台和依赖项,请将以下工件包含在您的依赖项中。 使用 Maven 进行开发 有关于使用 Blazegraph 数据库源代码和 Maven 进行开发的说明。
<dependency>
<groupId>com.blazegraph</groupId>
<artifactId>bigdata-core</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.blazegraph</groupId>
<artifactId>bigdata-blueprints</artifactId>
<version>2.0.0</version>
</dependency>
如果您只是链接 Blazegraph 数据库依赖项而不使用任何外部库,请使用 bigdata-runtime 工件。
<dependency>
<groupId>com.blazegraph</groupId>
<artifactId>bigdata-runtime</artifactId>
<version>2.0.0</version>
</dependency>
部署者
从 2.0.0 开始,部署的默认上下文路径是 http://localhost:9999/blazegraph/。 还有 WAR 部署程序 (blazegraph-war)、可执行 Jar 文件 (blazegraph-jar)、Debian 包 (blazegraph-deb)、的 Maven 工件RPM (blazegraph-rpm) 和 Tarball (blazegraph-tgz)。
包含 bigdata-war 和 bigdata-jar 工件用于遗留目的,并使用 /bigdata/ 上下文路径。
小叮当3
Tinkerpop3 支持需要 Java 1.8,现在位于单独的存储库中。 请参阅 Tinkerpop3。 它也可以作为 Maven Central 工件使用。
<dependency>
<groupId>com.blazegraph</groupId>
<artifactId>blazegraph-gremlin</artifactId>
<version>1.0.0</version>
</dependency>
三重模式片段(TPF)服务器
有一个 Blazegraph 三重模式片段 TPF 服务器支持 链接数据片段。
Blazegraph Python 客户端
这里有一个 Blazegraph Python 客户端 here
Blazegraph 点网 RDF 客户端
这里有一个 Blazegraph Dot Net RDF 客户端 here