Importing Twitter Users Network Error

Dec 10, 2012 at 6:51 PM

Hello,

When trying to import certain Twitter users networks I get the following error:

 

---------------------------Assertion Failed: Abort=Quit, Retry=Debug, Ignore=Continue---------------------------

    at GraphImporter.ImportVertexAttributes(IGraph oSourceGraph, String[] asVertexAttributes, Dictionary`2 oVertexDictionary, ListObject oVertexTable)  
    at GraphImporter.ImportVertices(IGraph oSourceGraph, String[] asVertexAttributes, ListObject oVertexTable, Range oVertexNameColumnData, Range oVisibilityColumnData)  
    at GraphImporter.ImportGraph(IGraph sourceGraph, String[] edgeAttributes, String[] vertexAttributes, Boolean clearTablesFirst, Workbook destinationNodeXLWorkbook)  
    at ThisWorkbook.ImportGraph(IGraph oGraph, String[] oEdgeAttributes, String[] oVertexAttributes, String sImportDescription, String sSuggestedFileNameNoExtension)  
    at ThisWorkbook.ImportFromGraphDataProvider(Object graphDataProvider)  
    at Ribbon.btnImportFromGraphDataProvider_Click(Object sender, RibbonControlEventArgs e)  
    at RibbonPropertyStorage.ControlActionRaise(IRibbonControl control)  
    at RibbonPropertyStorage.ButtonClickCallback(RibbonComponent component, Object[] args)  
    at RibbonManager.Invoke(RibbonComponentCallback callback, Object[] args)  
    at RibbonMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)  
    at RibbonManager.System.Reflection.IReflect.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters)   

 

This doesn't occur on all imports, or with all twitter users, only some. Any idea what is going on?

Thanks in advance,

Richard

Dec 11, 2012 at 1:54 AM

Richard:

This problem can occur if you have an Excel feature called "auto table expansion" turned off.  NodeXL needs this feature to be turned on to operate properly.  Newer versions of NodeXL warn you if the feature is turned off and offer to turn it on for you, but you might have an older version that isn't warning you.

To turn the feature on, do the following:

* Click the round Office Button at the upper-left corner of the Excel window.

* Select Excel Options, Proofing, AutoCorrect Options, AutoFormat As You Type.

* Check "Include new rows and columns in table."

-- Tony

Dec 11, 2012 at 2:35 PM

Thanks Tony,

That option was checked so I don't think that was it.

What I think happened is that I had copied and pasted come data from a old excel file into the new one. This didn't seem to cause any problems, I saw something in this thread http://nodexl.codeplex.com/discussions/242896 about how copy & paste and silently corrupt the file. I've now exported my old data as graphml, then imported it to a fresh nodexl file and it seems to be working.

 

Best,

Richard 

Dec 11, 2012 at 5:04 PM

Richard:

Thanks for letting me know.  We now have two known causes for the error message you reported, which is useful knowledge in case others run into the same thing.

-- Tony

Dec 11, 2012 at 5:38 PM

Hmmmmmm, I may have spoke to soon. I'm still getting the same error on occasion in the new file. 

I'm doing many Twitter User imports to the same file. Would that have anything to do with it?

Best,

Richard

Dec 11, 2012 at 7:41 PM
Edited Dec 11, 2012 at 8:01 PM

Richard:

It could be related to the fact that you're importing into the same file, or there could be a problem with getting Twitter networks for certain users.  Let's try to narrow it down.

When you get one of these error messages, please do the following:

1. Create a new NodeXL workbook.  You can do this from the Windows Start Menu, or by using the New NodeXL Workbook item on the Office menu in Excel.

2. Try importing the same user into the new NodeXL workbook, using the exact same settings for everything in the Import from Twitter User's Network dialog box.

What happens?  Do you still get the error message?

If you still get the error message in the new NodeXL workbook, do one more thing:

3. Tell me all the settings you are using in the Import from Twitter User's Network dialog box.  I'll see if I can get the same problem to occur on my computer.

-- Tony

Dec 11, 2012 at 9:22 PM

Thanks Tony,

When I create a new NodeXL workbook and try importing the same user it's fine.

Also when I export the workbook that crashes on importing certain users to a GraphML file, then import it to a new NodeXL Workbook and try to import the problematic user; it works fine for a bit. But after a while of importing new users the error re-occurs.

Hope this helps. Let me know if you need me to run anymore tests.

Thank you for all your help.

Richard

Dec 12, 2012 at 1:45 AM
Edited Dec 12, 2012 at 1:56 AM

Richard:

So it sounds like it's not a problem getting a Twitter network for a particular user; rather, the workbook might be getting into some weird state with repeated imports.

I'm hoping the problem is repeatable, so that I can make the problem happen on my own computer and track down the cause.  (I'm the NodeXL programmer.)  Do you have a workbook that you can save, and then open, and then import a specific user, and reliably trigger the problem?  If so, please send me the workbook, and tell me the settings you are using in the Import from Twitter User's Network dialog box that cause the problem to occur.  I'll send you my email address separately.

Thanks,
    Tony

Dec 13, 2012 at 8:29 PM

Thanks Tony,

I've sent the you the offending worksheet via email. Let me know if it hasn't arrived or if you need more information.

Best wishes,

Richard 

Dec 14, 2012 at 4:56 PM

Richard:

The workbook you sent me is corrupted, although you can't tell that just by looking at it.  I'm investigating how it got that way.  It's a bug somewhere in either NodeXL or Excel itself.

The only workaround I have for the moment is the one you pointed out yourself, which involves a tedious export to GraphML.  I can't be certain that will always work, though, because it might trigger the same bug if you're appending the imported GraphML to existing data.

NodeXL hasn't been tested much the way you're using it, and in fact I'm not sure why it even has the option you're using to tell it to not clear the workbook before new data is imported.  Such an operation is fundamentally flawed and unpredictable, because you could easily end up with two rows in the Vertices worksheet for the same vertex, which makes no sense.  My opinion is that multiple data sets should be merged by some other program that knows how to deal with duplicate data.  NodeXL doesn't do that today.

In any case, thank you for reporting the bug and especially for providing what we programmers call a good "repro case."

-- Tony