CogniPy for Pandas,语义技术推理和编辑
cognip的Python项目详细描述
Pandas的认知-内存图形数据库和具有自然语言接口的知识图
盒子里有什么
使用OWL/rlreasoner(Jena)以及SPARQL图形查询(Jena)和可视化,对RDF/OWL、FluentEditorCNL文件进行推理、探索。在
你可以用它做什么:
- 用受控自然语言编写图形/本体,或者从RDF/OWL导入
- 在受控自然语言中添加推理规则/T-Box
- 使用Pandas导入数据或从互联网上丢弃它们
- 绘制结果,物化图形
- 使用SPARQL执行图形查询
- 使用输出数据帧进一步处理Pandas
入门
安装
先决条件:
- 如果您在Mac或Linux上,您的系统上必须有mono installed。在
- 基于依赖于GraphViz的pydot绘制图形-应尝试下载并手动安装。或者只是
conda install pydot graphviz
- 用水蟒测试
- 在MacOS、Winows和Linux上测试(UBuntu)
使用以下命令在系统上安装cognipy
:
pip install cognipy
你好世界计划
在朱庇特你写道:
^{pr2}$%%writefile hello.encnl
World says Hello.
Hello is a word.
onto = Ontology("cnl/file","hello.encnl")
print(onto.select_instances_of("a thing that says a word")[["says","Instance"]])
输出(熊猫数据帧):
says Instance 0 Hello World
示例
可以在Examples section中找到在多个场景中使用CogniPy的Jupyter笔记本示例
认知文档
编译后的文档存储在github页面上:Cognipy Documentation
相关研究论文
- Semantic rules representation in controlled natural language in FluentEditor
- Collaborative Editing of Ontologies Using Fluent Editor and Ontorion
- Semantic OLAP with FluentEditor and Ontorion Semantic Excel Toolchain
- Ontology-aided software engineering
- Ontology of the Design Pattern Language for Smart Cities Systems
如何引用认知
如果使用CogniPy的项目产生的科学出版物能在确认部分包括以下句子:“这项工作是使用CogniPy包进行的,这是一个由Cognitum Services S.A.https://www.cognitum.eu维护的开源项目。”
贡献者
- 由Cognitum Services S.A.https://www.cognitum.eu维护
- 联系我们:office@cognitum.eu
- 认知在很大程度上依赖于社区的贡献。看看如何帮助CogniPy成为一个更强大的工具。在
本项目所基于的开源库
- IKVM
- 命令行分析器
- 在Newtonsoft.JSon在
- ELK-ELK是一个本体推理器,旨在支持OWL2EL概要文件。有关详细信息,请参见http://elk.semanticweb.org/。在
- HermiT-HermiT是一个使用直接语义的符合owl2dl推理器。它 支持所有owl2dl构造和OWL2规范所需的数据类型。在
- ApacheJena-Jena是一个用于构建语义web应用程序的Java框架。它提供工具和Java库来帮助您开发语义web和链接数据应用程序、工具和服务器。在
- 猫头鹰
构建新版本
nuget restore cognipy\CogniPy.sln
msbuild cognipy\CogniPy.sln /t:Rebuild /p:Configuration=Release /p:Platform="any cpu"
python setup.py bdist_wheel
python -m twine upload dist/* --verbose
常见问题解答
Why it is done this way?
该软件是作为FluentEditor的后代出现的,因此它有一些共同的部分。其中之一是.net。我们正计划将这些部分转移到java中,这样整个堆栈将更加符合技术要求。convert_to_java
分支已经包含从.net自动转换为java的项目文件。不管怎样,现在需要手工制作才能让一切正常。在
- 项目
标签: