doap(项目描述)rdf的命令行工具和库。

doapfiend的Python项目详细描述


doapfend是一个命令行客户机和库,用于获取、显示、创建和操作DOAP(项目描述)文件。

doapfend使用rdfalchemy/rdflib作为orm来查询和创建doap。

有关epydoc生成的api文档,请参见docs/api

功能

  • Display metadata in DOAP in a human-readable format
  • Get DOAP by a !SourceForge, Freshmeat, PyPI, Ohloh etc. project name
  • Search all DOAP spidered on the web (pingthesemanticweb.com)
  • Access the metadata in the DOAP file using Python dot notation
  • Fetch DOAP by using the short name of a DOAP PURL doapurl.org
  • Fetch and display DOAP mentioned in FOAF by project homepage
  • Written in Python (Yes, that’s a feature.)
  • Extensible with plugins using setuptools

提供可选插件

  • Generate a web page with CSS from a DOAP file (using hdoap)
  • Search for DOAP using a Gentoo Linux pacakge name (Thanks GLEP 46)

开发中的插件

  • Search for DOAP by names you know, such as your distribution’s package names
  • Create a Gentoo ebuild from a DOAP file

安装

您可以使用distutils、easy_install或subversion安装doapfined。还有一个gentoo linux ebuild可用。

example命令行用法

为名为“nut”的sourceforge项目获取doap:

$ doapfiend --sf nut

您有一个项目的主页,如果有任何已被spidered,则显示doap:

$ doapfiend -o http://librdf.org/raptor/

您具有指向DOAP文件的URL或本地路径:

$ doapfiend -d http://librdf.org/raptor/raptor.rdf

将sourceforge项目“nut”的doap显示为rdf/xml:

$ doapfiend -x --sf nut

将sourceforge项目“nut”的doap显示为n3(符号3):

$ doapfiend -n --sf nut

示例库用法

使用freshmeat项目名称获取并显示doap:

>>> from doapfiend.doaplib import get_by_pkg_index

>>> print get_by_pkg_index('fm', 'nut')

获取一些doap并访问其元数据:

>>> from doapfiend.doaplib import get_by_pkg_index, load_graph
>>> doap = load_graph(get_by_pkg_index('fm', 'nut'))
>>> print doap.name
'nut'
>>> print doap.created
'2008-04-19'

使用项目的主页获取doap并打印rdf/xml。 注意,可能有不止一个doap配置文件;我们只使用在示例中找到的第一个。

>>> from doapfiend.doaplib import query_by_homepage, print_doap
>>> url = query_by_homepage('http://news.tiker.net/software/tagpy')[0][1]
>>> print fetch_doap(url)

同上,但在可读文本中显示DOAP:

>>> print_doap(fetch_doap(url))

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

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?