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.

Final step in transforming logs from mysql to XES failing...

skaretiskareti Posts: 5
edited August 2015 in - XESame

All- I am a novice trying to use XESame to generate XES file from data in mysql.

Version of XESame: 1.4.1-XESame141.exe  (came with Prom 6.4.1)

I am trying to generate a log/XES file that has


  1. Sessions (customer sessions with unique session IDs)

    1. SQL Table Sessions has: <sessionid, some session level attributes>

    2. Pageviews identified by visit_page_num within a session

      1. Table clickstream: <session_id, visit_page_num, pagetype, some other attributes>

      2. Pagetype can have values from {homepage, Product Listing Page, Search Results page, product information page, category page, confirmation page, order page, …}

      3. Sessioid+visit_page_num is unique at this level (this would make the trace id)



Loosely my XESame definition so far has log and trace as the two levels (log->session, trace->pageview)


  1. Log: Attributes- sessionid

Log properties- from: sessions,  where EMPTY


  1. Trace Attributes- pagetype

Trace Properties- from = sessions, clickstream | Where clickstream.sessioni = sessions.sessionid | TraceID = concat(clickstream.sessionid, “:”, visit_page_num)

When I run this set up I get past 3 of 4 steps.

2015-08-18 14:41:04: (PROGRESS) Starting step 1 of 4: initialization.
2015-08-18 14:41:06: (PROGRESS) Starting step 2 of 4: Extracting log info.
2015-08-18 14:41:06: (DEBUG) We are about to run the following query
to extract the items for Log:
SELECT sessions.sessionid AS  sessionid  FROM sessions
2015-08-18 14:41:06: (PROGRESS) Starting step 3 of 4: Extracting traces.
2015-08-18 14:41:06: (DEBUG) We are about to run the following query
to extract the items for Trace:
SELECT DISTINCT concat(clickstream.sessionid , ":" , visit_page_num)
AS  traceID , clickstream.pagetype AS  pagetype  FROM clickstream,
sessions   WHERE clickstream.sessionid = sessions.sessionid
2015-08-18 14:41:07: (PROGRESS) Starting step 4 of 4: Converting Cache
DB to XES.
2015-08-18 14:41:09: (ERROR) There was an error while trying to
convert the cache database to an XES file.
2015-08-18 14:41:09: (ERROR) org.deckfour.xes.model.impl.XTraceImpl
cannot be cast to org.deckfour.xes.model.buffered.XTraceBufferedImpl

2015-08-18 14:41:09: (WARNING) Cancelling execution! We were busy
creating an XES file from the cache database.
2015-08-18 14:41:09: (NOTICE) Execution safely terminated

Any thoughts on what I am missing.

Thank you, sri

Answers

  • skaretiskareti Posts: 5

    I have noticed this or a similar error reported in Nov 2014. There was a temporary fix and code posted ;http://svishudson.win.tue.nl:8080/job/XESame/lastSuccessfulBuild/artifact/*zip*/archive.zip. This site is not accessable now. Wondering if this is the same issue as [http://www.win.tue.nl/promforum/discussion/436/error-in-step-5-following-tutorial-for-csv-to-xes#Item_20].

  • JBuijsJBuijs Posts: 912

    Dear Sri,

    Thank you for your report, this is a known bug in ProM releases 6.4 and 6.4.1 (so XESame 1.4 and 1.4.1). Unfortunately ProM 6.5/XESame 1.5 contains another but. By the end of this week ProM 6.5.1 and XESame 1.5.1. should be released that should work. So if you can wait a day or 2 you can install the new tools and retry your mapping.

    Joos Buijs

    Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
    Previously Assistant Professor in Process Mining at Eindhoven University of Technology
  • skaretiskareti Posts: 5

    Thank you Joos Buijs. I will try it out as soon as the release is out and let the forum know how it goes.

  • skaretiskareti Posts: 5

    Dear Joos- thank you for the new release. My transform seems to have run without any issues (there were no errors thrown). You can see top part of the trace below. Based on the trace I expect to see a number of traces inserted because the trace says inserting trace with trace id X.Y (~1000 times). However, when I open the XES file, it is almost empty, has just one session (XES output is at the bottom of this post). Any quick insights? I am attaching the generate mapping file as well (which does not make much sense to me).

    --Monitor output verbose--

    2015-08-20 13:33:59: (PROGRESS) Starting step 1 of 4: initialization.

    2015-08-20 13:34:01: (PROGRESS) Starting step 2 of 4: Extracting log info.

    2015-08-20 13:34:01: (DEBUG) We are about to run the following query to extract the items for Log: SELECT sessions.sessionid AS  sessionid  FROM sessions  

    2015-08-20 13:34:01: (VERBOSE) We will insert a new attribute (sessionid with value 1) into the cache DB for the Log item with ID 0

    2015-08-20 13:34:01: (PROGRESS) Starting step 3 of 4: Extracting traces.

    2015-08-20 13:34:01: (DEBUG) We are about to run the following query to extract the items for Trace: SELECT DISTINCT concat(clickstream.sessionid , ":" , visit_page_num) AS  traceID , clickstream.pagetype AS  pagetype  FROM clickstream, sessions   WHERE clickstream.sessionid = sessions.sessionid

    2015-08-20 13:34:01: (VERBOSE) We will insert a new trace with traceID 1:1.

    2015-08-20 13:34:01: (VERBOSE) We will insert a new attribute (pagetype with value plp) into the cache DB for the Trace item with ID 1:1

    2015-08-20 13:34:01: (VERBOSE) We will insert a new trace with traceID 1:2.

    2015-08-20 13:34:01: (VERBOSE) We will insert a new attribute (pagetype with value plp) into the cache DB for the Trace item with ID 1:2

    2015-08-20 13:34:01: (VERBOSE) We will insert a new trace with traceID 1:3.

    2015-08-20 13:34:01: (VERBOSE) We will insert a new trace with traceID 1:4.

    2015-08-20 13:34:01: (VERBOSE) We will insert a new attribute (pagetype with value plp) into the cache DB for the Trace item with ID 1:4

    2015-08-20 13:34:01: (VERBOSE) We will insert a new trace with traceID 2:1.

    2015-08-20 13:34:01: (VERBOSE) We will insert a new attribute (pagetype with value content) into the cache DB for the Trace item with ID 2:1

    2015-08-20 13:34:01: (VERBOSE) We will insert a new trace with traceID 2:10.

    ...

    ...

    -- END of Monitor output top few rows only --

    --eventlog.xes file contents--

    <?xml version="1.0" encoding="UTF-8" ?><!-- This file has been generated with the OpenXES library. It conforms --><!-- to the XML serialization of the XES standard for log storage and --><!-- management. --><!-- XES standard version: 1.0 --><!-- OpenXES library version: 1.0RC7 --><!-- OpenXES is available from http://www.openxes.org/ --><log xes.version="1.0" xes.features="nested-attributes" openxes.version="1.0RC7"> <extension name="Lifecycle" prefix="lifecycle" uri="http://www.xes-standard.org/lifecycle.xesext"/> <extension name="Organizational" prefix="org" uri="http://www.xes-standard.org/org.xesext"/> <extension name="Time" prefix="time" uri="http://www.xes-standard.org/time.xesext"/> <extension name="Concept" prefix="concept" uri="http://www.xes-standard.org/concept.xesext"/> <extension name="Semantic" prefix="semantic" uri="http://www.xes-standard.org/semantic.xesext"/> <global scope="trace"> <string key="pagetype" value="UNKNOWN"/> </global> <int key="sessionid" value="1"/></log>

  • skaretiskareti Posts: 5

    Joos- I am adding the console output at verbose level. I'd appreciate any insights.
    -sri

  • JBuijsJBuijs Posts: 912

    Dear Sri,

    Great to hear that you now manage to perform a successful run of XESame.

    However, you did not specify an event mapping, so you are only extracting trace instances, but are not adding events to it.

    In XESame, in the mapping definition view click the icon with the 'e' and '+' symbol on the left hand side. This allows you to specify a mapping for an event. Note that you can add as many event mappings as desired, for instance if events are spread over different tables.

    Hope this helps, and good luck!

    Joos Buijs

    Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
    Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Sign In or Register to comment.