基于lode,使用python和模板的owl本体文档工具。

pyLODE的Python项目详细描述


Pylode

一个使用python和模板的owl本体文档工具,基于 矿脉

实时owl文档环境工具 ( lode )是一个众所周知的(在 语义Web圈)基于Java和XSLT的工具生成 用于owl和rdf本体的人类可读html文档。那个工具是 现在有点过时了(旧式html,使用xslt等旧技术) 它的( 在线版本)并不总是 在线/

此工具是lode功能的完整重新实现,使用 python和pythons RDF操作模块, rdflib 。本体论 使用rdflib分析和检查文档并生成html 使用基本的python脚本和python的 模板化

该工具可以通过命令行或as-a-service运行。这个 后者是通过流行的falcon框架来实现的。

示例

Pylode已经用 Pylode/examples/ 我们正在努力确保 捕获它们的所有批注。对于每个示例,都有 原始RDF文件和相应的输出HTML。

使用Pylode联机本体:

请参见 其他目录, 预处理示例。

安装

此工具既可以用作命令行实用程序(见下文),也可以用作其他python代码中的python模块。

此工具可在pypi(python包索引)上获得,网址为https://pypi.org/project/pylode/" rel="nofollow">https://pypi.org/project/pylode/,并可通过pip:

安装为python模块使用。
pip install pylode

对于桌面命令行的使用,只需克隆这个存储库,然后使用python或提供的bash scrip(见下文)。

使用

pylode显示为python&bash命令行实用程序, pylode/cli.py &; 分别为pylode/bin/pylode rel="nofollow">pylode/bin/pylode和 由falcon框架提供支持的服务器实现。 Windows脚本可能很快就会出现。都使用相同的命令行参数。

在线API

现在提供了一个访问pylode的在线api在测试模式下,请访问https://kurrawong.net/pylode-online" rel="nofollow">https://kurrawong.net/pylode online

本地服务器

您可以使用自己的本地http服务器运行pylode,如下所示: < TT> Gunicorn服务器:API 然后,在另一个终端: < TT> curl 本地主机:8000/矿脉?url=http://sweetonology.net/sweetall.ttl

命令行

以下是将pylode作为bash或python脚本运行的命令行参数:

  • -i --输入文件 ,如果未使用 -u,则需要输入
  • 要为其生成HTML的RDF本体文件必须位于 turtle、rdf/xml、json-ld或n-triples文件表示的格式 类型扩展名分别为.rdf、.owl、.ttl、.n3、.nt、.json
  • -u --url 如果未使用,则需要
  • 您希望为其在线生成html的rdf本体。必须是 可以解析为RDF的绝对URL,最好是通过内容 谈判。
  • -c --css 可选,默认为"false"
  • 是否(true)将默认css文件复制到 输出目录。
  • -o --输出文件 可选
  • 要分配给输出文件的名称。将用 HTML。如果未指定,则输入文件或最后一段的名称 将使用的rdf uri为,+.html。

示例调用

对pylode/bin/中bash脚本的调用将 为名为 placenames.html 的本体创建一个html文档,然后 用一个基本的css文件保存到 Pylode/output_files/

$ ./pylode -i ../example/prof.ttl --css true

HTML结果

注释

pylode理解以下本体注释:

  • 本体元数据
  • 导入 - owl:imports
  • 标题 - rdfs:label skos:preflabel dct:title
  • 版本uri - owl:versioniri 作为uri
  • 版本信息 - owl:version info 作为字符串
  • 出版商 创作者 贡献者
    • 属性的dc版本( dc:publisher 等)或 DCT版本( dct:publisher etc.)
    • 如果使用dc形式,则范围应该只是一个字符串,例如。 ` dc:publisher"Geoscience Australia"。
    • 如果使用DCT格式,则范围应为a foaf:agent 或 schema:person 具有以下属性的空白节点: foaf:name / sdo:name foaf:mbox / sdo:email 或 foaf:主页/ 模式:标识符 属性
    • 有关 例子!
  • 创建、修改、发布等 xsd:date xsd:datetime 数据类型属性
  • 说明 - rdf:comment skos:definition dct:说明
  • 许可证 - dct:license 作为uri
  • rights - dct:rights 作为字符串
  • per rdfs:class owl:class
  • 标题 - rdfs:label skos:preflabel dct:title
  • 说明 - rdf:comment skos:definition dct:description 作为字符串或usi天然气 降价 或 HTML/LI>
  • 用法说明 -a skos:scopenote string
  • 超级类 -通过将类声明为 一些
  • 子类 -pylode将自己解决这些问题
  • 限制 -通过将类声明为 带有任何正常基数或 财产存在等限制
  • 在域/范围内的 -pylode将自动计算这些
  • 属性
  • per owl:objectproperty owl:datatypeproperty 猫头鹰:注释属性
  • 标题 - rdfs:label skos:preflabel dct:title
  • 说明 - rdf:comment skos:definition dct:说明
  • 用法说明 -a skos:scopenote string
  • 超级属性 -通过将类声明为 猫头鹰:某事物的子属性
  • 子属性 -pylode将自行解决这些问题
  • - rdfs:domain schema:domainincludes
  • 范围 - rdfs:range schema:rangeincludes
  • 命名空间
  • pylode将支持您设置和查找的任何名称空间前缀。 http://prefix.cc
  • 中的其他
  • 它将在 使用多种方法注释或猜测它
  • 命名个人
  • 来了!
  • 要帮助pylode理解更多注释,请参见下面的建议。

    造型

    这个工具生成的html与lode的样式非常相似。 那是因为我们希望事物看起来熟悉,矿脉的输出看起来 很好,

    另外,pylode只生成和使用静态html+css,不使用javascript, 实时加载谷歌字体等。这是为了确保所有你需要的 好的显示器是在几个静态,易于使用和维护, 文件夹。防止文档随着时间推移而中断。

    您可以使用自己的css扩展您的样式。

    与矿脉的差异

    • 命令行访问
      • 你可以在自己的桌面上使用,这样你就不需要我 维护实时服务以供使用
    • 使用更现代更简单的HTML
    • 提供更广泛的本体选项,如:
      • schema.org domainincludes &; 属性的rangeincludes
    • 更好的代理链接
      • foaf:agent schema:person 创建者的对象, 贡献者和发布者
      • 你仍然可以使用简单的字符串,比如 dc:contributor"nicholas j.car" 如果您真的需要的话!
    <ontology_x>
        dct:creator [
            sdo:name "Nicholas J. Car" ;
            sdo:identifier <http://orcid.org/0000-0002-8742-7730> ;
        ] ;
    
    • 更聪明的居里夫妇
      • pylode缓存并查找知名的前缀以使更多/更好 居里斯
      • 它试图通过居里主义来巧妙地展示居里 找到uri,而不是打印它们
    • 积极发展
    • 此软件正在使用中,并将在可预见的时间内得到改进 未来,我们将满足越来越多的需求
    • 最近的本体文档计划,比如 本体将是 处理,如果要求

    许可证

    此代码是使用GPLv3许可证授权的。请参阅 许可证 为契约归档 。注意下面的引文 归属。

    引文

    如果你使用Pylode,请离开Pyl背面有超链接的ODE徽标 在已发布的HTML页面的左上角。

    协作

    维护人员欢迎任何合作。

    如果您有建议,请给下面的联系人发电子邮件或留下问题 在这个存储库的问题跟踪器中

    但你能做的最好的事情就是创建一个请求 行动!

    联系人

    < div > 作者 尼古拉斯汽车
    数据系统架构师
    环绕澳大利亚私人有限公司

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java将一个节点拖到另一个不运行JavaFX的节点中   java如何在spring boot中创建完全自定义的查询   java Arraylist和ArrayListBlockingQueue之间的区别是什么?   java Weblogic会中断长时间运行的线程吗   java如何调用displayAd()方法?   使用数组在两个组之间进行java IPL匹配   java如何在Eclipse中的org下创建测试套件。朱尼特   java获取屏幕上任意点的鼠标坐标   正则表达式需要java正则表达式方面的帮助   如何使用Java获取Ram大小和硬盘大小?   java如何将所需长度设置为数组中的整数?   安卓应用程序启动前的java程序已终止   swing设置要在Java代码中打印的页边距   迭代期间java故障安全迭代器的删除   java如何在main中调用方法,以便它们在同一行上输出?   编译Java:尝试播放mp3文件时出错   java如何使用Spring数据Rest在POST调用中保存嵌入对象   java JAXWS如何在端点外部注入SecurityContext