Final step in transforming logs from mysql to XES failing...
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
- Sessions (customer sessions with unique session IDs)
- SQL Table Sessions has: <sessionid, some session level attributes>
- Pageviews identified by visit_page_num within a session
- Table clickstream: <session_id, visit_page_num, pagetype, some other attributes>
- Pagetype can have values from {homepage, Product Listing Page, Search Results page, product information page, category page, confirmation page, order page, …}
- 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)
- Log: Attributes- sessionid
Log properties- from: sessions, where EMPTY
- 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
-
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].
-
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 -
Thank you Joos Buijs. I will try it out as soon as the release is out and let the forum know how it goes.
-
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>
-
Joos- I am adding the console output at verbose level. I'd appreciate any insights.
-sri -
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
Howdy, Stranger!
Categories
- 1.6K All Categories
- 45 Announcements / News
- 225 Process Mining
- 6 - BPI Challenge 2020
- 9 - BPI Challenge 2019
- 24 - BPI Challenge 2018
- 27 - BPI Challenge 2017
- 8 - BPI Challenge 2016
- 68 Research
- 1K ProM 6
- 394 - Usage
- 288 - Development
- 9 RapidProM
- 1 - Usage
- 7 - Development
- 54 ProM5
- 19 - Usage
- 187 Event Logs
- 32 - ProMimport
- 75 - XESame