一个生成用于进程挖掘的xes文件的简单工具

xes的Python项目详细描述


这个项目在github上:https://github.com/jsumrall/xes

这是一个简单的库,其中有生成XES文件的方法。 使用此库,您将能够获取原始事件数据和 生成带有标准头的xes文件。从XES标准网页, “XES是一个基于XML的事件日志标准。其目的是提供 事件日志数据交换的公认格式 工具和应用程序域。其主要目的是进行工艺开采, 即基于其事件日志的操作过程分析。”

和往常一样,举例是了解这一点的最好方法。

示例用法如下:

#!/usr/bin/env python

import xes

traces = [
    [
        {"concept:name" : "Register", "org:resource" : "Bob"},
        {"concept:name" : "Negotiate", "org:resource" : "Sally"},
        {"concept:name" : "Negotiate", "org:resource" : "Sally"},
        {"concept:name" : "Sign", "org:resource" : "Dan"},
        {"concept:name" : "Sendoff", "org:resource" : "Mary"}
    ],
    [
        {"concept:name" : "Register", "org:resource" : "Bob"},
        {"concept:name" : "Negotiate", "org:resource" : "Sally"},
        {"concept:name" : "Sign", "org:resource" : "Dan"},
        {"concept:name" : "Sendoff", "org:resource" : "Mary"}
    ],
    [
        {"concept:name" : "Register", "org:resource" : "Bob"},
        {"concept:name" : "Negotiate", "org:resource" : "Sally"},
        {"concept:name" : "Sign", "org:resource" : "Dan"},
        {"concept:name" : "Negotiate", "org:resource" : "Sally"},
        {"concept:name" : "Sendoff", "org:resource" : "Mary"}
    ],
    [
        {"concept:name" : "Register", "org:resource" : "Bob"},
        {"concept:name" : "Sign", "org:resource" : "Dan"},
        {"concept:name" : "Sendoff", "org:resource" : "Mary"}
    ]
]


log = xes.Log()
for trace in traces:
    t = xes.Trace()
    for event in trace:
        e = xes.Event()
        e.attributes = [
            xes.Attribute(type="string", key="concept:name", value=event["concept:name"]),
            xes.Attribute(type="string", key="org:resource", value=event["org:resource"])
        ]
        t.add_event(e)
    log.add_trace(t)
log.classifiers = [
    xes.Classifier(name="org:resource",keys="org:resource"),
    xes.Classifier(name="concept:name",keys="concept:name")
]

open("example.xes", "w").write(str(log))

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

推荐PyPI第三方库


热门话题
日期和现在之间的Java时间   java以适当的方式更新jLabel和jTextField   java如何从PQ(单链表)中删除最大值   java可以通过任何方式找出哪些NSF文件属于Domino服务器   java Velocity 2不会设置属性   如何使用java流迭代索引映射列表   maven依赖项在编译期间工作,但在java运行时失败。lang.NoClassDefFoundError&java。lang.ClassNotFoundException   java有没有办法完全隐藏Web应用程序代码?   Android appcompat v7 21库中的java FadingActionBar错误   Eclipse/com中的java AdMob。谷歌。安卓gms。ads.AdView   java My Service表示它正在运行,但其状态尚不清楚,似乎没有绑定   java无法启动Apache Tomcat Web应用程序容器   JDK:java中的命名约定。可丢弃的   Spring SerSecurity中的java身份验证错误   Maven:使用JDK8编译Java7   java在使用ExecutorService时如何管理内存?   comm.jar通信串行端口java   java LibGDX创建动画