TerminusDB是一个开源的图形数据库和文档存储。它允许您通过简单的文档API在强大的知识图谱中链接JSON文档。
TerminusX 是一个自助式数据平台,允许您构建、部署、执行、监视和共享版本化的数据产品。它建立在TerminusDB上。TerminusX处于公开测试阶段,您可以立即注册。
要求
发行说明和早期版本
TerminusDB Client v10.0 可与 TerminusDB v10.0 和 TerminusX 配合使用。请查看 RELEASE_NOTES.md 以了解更改的内容。
安装
- TerminusDB客户端可以使用pip从PyPI下载:
python -m pip install terminusdb-client
这仅包括核心 Python Client (WOQLClient) 和 WOQLQuery。
如果要在基架 CLI 工具中使用 woqlDataframe 或导入和导出 csv 函数:
python -m pip install terminusdb-client[dataframe]
如果您要安装表单 zsh
,则必须引用如下参数:
python -m pip install 'terminusdb-client[dataframe]'
- 从源代码安装:
python -m pip install git+https://github.com/terminusdb/terminusdb-client-python.git
演示
用法
Python 客户端
连接到服务器
连接到本地主机
from terminusdb_client import WOQLClient client = WOQLClient("http://127.0.0.1:6363/") client.connect()
连接到终端X
查看 TerminusX 的文档,了解如何将 API 令牌添加到环境变量
from terminusdb_client import WOQLClient team="MyTeam" client = WOQLClient(f"https://dashboard.terminusdb.com/{team}/") client.connect(team="MyTeam", use_token=True)
创建数据库
client.create_database("MyDatabase")
创建架构
from terminusdb_client.woqlschema import WOQLSchema, DocumentTemplate, RandomKey my_schema = WOQLSchema() class Pet(DocumentTemplate): _schema = my_schema name: str species: str age: int weight: float my_schema.commit(client)
创建和插入文档
my_dog = Pet(name="Honda", species="Huskey", age=3, weight=21.1) my_cat = Pet(name="Tiger", species="Bengal cat", age=5, weight=4.5) client.insert_document([my_dog, my_cat])
取回所有文档
print(list(client.get_all_documents()))
[{'@id': 'Pet/b5edacf854e34fe79c228a91e2af45fb', '@type': 'Pet', 'age': 5, 'name': 'Tiger', 'species': 'Bengal cat', 'weight': 4.5}, {'@id': 'Pet/cdbe3f6d49394b38b952ae315309256d', '@type': 'Pet', 'age': 3, 'name': 'Honda', 'species': 'Huskey', 'weight': 21.1}]
获取特定文档
print(list(client.query_document({"@type":"Pet", "age":5})))
[{'@id': 'Pet/145eb73966d14a1394f7cd5576d7d0b8', '@type': 'Pet', 'age': 5, 'name': 'Tiger', 'species': 'Bengal cat', 'weight': 4.5}]
删除数据库
client.delete_database("MyDatabase")
基础结构 CLI 工具
在目录中启动项目
$terminusdb startproject
Please enter a project name (this will also be the database name): mydb
Please enter a endpoint location (press enter to use localhost default) [http://127.0.0.1:6363/]:
config.json and schema.py created, please customize them to start your project.
导入名为grades.csv
$terminusdb importcsv grades.csv --na=error 0it [00:00, ?it/s] Schema object Grades created with grades.csv inserted into database. schema.py is updated with mydb schema. 1it [00:00, 1.00it/s] Records in grades.csv inserted as type Grades into database with Lexical ids.
获取带查询的文档
terminusdb alldocs --type Grades -q grade="B-" [{'@id': 'Grades/Android_Electric_087-65-4321_42.0_23.0_36.0_45.0_47.0_B-', '@type': 'Grades', 'final': 47.0, 'first_name': 'Electric', 'grade': 'B-', 'last_name': 'Android', 'ssn': '087-65-4321', 'test1': 42.0, 'test2': 23.0, 'test3': 36.0, 'test4': 45.0}, {'@id': 'Grades/Elephant_Ima_456-71-9012_45.0_1.0_78.0_88.0_77.0_B-', '@type': 'Grades', 'final': 77.0, 'first_name': 'Ima', 'grade': 'B-', 'last_name': 'Elephant', 'ssn': '456-71-9012', 'test1': 45.0, 'test2': 1.0, 'test3': 78.0, 'test4': 88.0}, {'@id': 'Grades/Franklin_Benny_234-56-2890_50.0_1.0_90.0_80.0_90.0_B-', '@type': 'Grades', 'final': 90.0, 'first_name': 'Benny', 'grade': 'B-', 'last_name': 'Franklin', 'ssn': '234-56-2890', 'test1': 50.0, 'test2': 1.0, 'test3': 90.0, 'test4': 80.0}]
删除数据库
$terminusdb deletedb Do you want to delete 'mydb'? WARNING: This opertation is non-reversible. [y/N]: y mydb deleted.
完整文档。
有关详细信息,请查看教程
在我们的教程存储库中,有一个使用 Python 客户端的示例列表。首先,我们建议看看使用Jupyter notebook使用Python客户端创建TerminusDB图。
测试
克隆此存储库
git clone https://github.com/terminusdb/terminusdb-client-python.git
使用诗歌安装所有开发依赖项
$ make init
- (a) 仅运行测试文件
$ poetry run pytest terminusdb_client/tests
- (b) 进行全面测试
$ poetry run tox -e test
或者你可以在诗歌外壳中运行测试,然后不需要使用poetry run
Documentation
Visit our TerminusDB Documentation for the full explanation of using TerminusDB.
Documentation specifically on the latest version of the Python Client can be found here.
Generating Documentation Locally using Sphinx
Clone this repository
git clone https://github.com/terminusdb/terminusdb-client-python.git
Install all development dependencies
$ make init
- 将目录更改为文档
$ cd docs/
- 使用狮身人面像构建
$ make html
输出文件位于 下,在浏览器中打开以进行检查。docs/build/html
index.html
报告问题
如果遇到任何问题,请通过操作系统和环境设置、您正在使用的版本以及简单可重现的情况来报告这些问题。
如果您有其他问题,可以在我们的社区论坛或Discord服务器中提问。
社区
快来我们的不和谐服务器或我们的论坛上访问我们。我们也在推特上
贡献
如果您先打开一个问题,以便我们可以知道发生了什么,那么,分叉此存储库并推送您的想法,那就太好了。不要忘记添加一些您添加的价值的测试。
有关详细信息,请查看 CONTRIBUTING.md。
执照
Apache 许可证(版本 2.0)
版权所有 (c) 2019