To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

How can i set the "xes.features" in OpenXes

Hi guys,

i am currently working on my thesis in process mining.
Here I want to create an XES file using the OpenXes reference implementation. Unfortunately ProM and especially rapidProM don't like the created file, I guess it's due to the "nested-attributes" information in the log tag <log xes.version="1.0" xes.features="nested-attributes" openxes.version="1.0RC7">.

My code for creating a log looks like this

XAttributeMap xAttributeMap = new XAttributeMapBufferedImpl();
XAttributeInfoImpl xAttributeInfo = new XAttributeInfoImpl();
XLogImpl xLog = new XLogImpl(xAttributeMap);
XLogInfo xLogInfo = XLogInfoFactory.createLogInfo(xLog);
XConceptExtension.instance().assignName(xLog, logId);

How can i avoid to create the "nested-attribute" in the log tag. 
By the way is it possible to do autmatically Process Discovery via ProM ? 

Many Thanks,


  • Hi Marc,

    Which importer are you using in ProM? The naive and lite OpenXES importers shouldn't be bothered by these attributes. The lenient IEEE XES importer also only warns you that the attribute is not what it should be, but it will import the log anyway. Only the (strictly) conforming IEEE XES importers will have a problem.

    These attributes are written by the exporter you use, and are not part of the OpenXES model. You cannot set them. The OpenXES exporters always include nested-attributes as a feature, the IEEE XES exporters only if it is needed (if there are nested attributes). Perhaps you could use the IEEE XES exporter?

    In ProM, the IEEE XES importers and exporters are implemented in the XESStandardConnector package.

    Kind regards,

    P.S.:It would be better to use a factory for creating logs, traces, events, and attributes:
            // Create the factory.
            factory = XFactoryRegistry.instance().currentDefault();
            // Create an empty log.
            XLog log = factory.createLog();

Sign In or Register to comment.