Is there much being done with Resource Description Framework in
Squeak/Pharo? I have some RDF data files that I need to load for my
masters project and am seeking advice on how to approach this. I am
only just learning about RDF for the first time. For anyone else
interested the best short overview I found so far is [
http://logicerror.com/semanticWeb-webdev ]
Apparently it this is a Simplified RDF Syntax as described at [
http://www.langdale.com.au/CIMXML/PSModelExchange.pdf ]
A data file looks like like this...
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cim="http://iec.ch/TC57/2007/CIM-schema-cim12#">
<cim:ACLineSegment rdf:ID="_7814201">
<cim:Conductor.length>95</cim:Conductor.length>
<cim:IdentifiedObject.name>AMHE400MARCLINE</cim:IdentifiedObject.name>
<cim:ConductingEquipment.BaseVoltage rdf:resource="#_400000302"/>
<cim:Equipment.MemberOf_EquipmentContainer
rdf:resource="#_487038201"/>
</cim:ACLineSegment>
The most obvious project on Squeaksource is Rakaiko [a] which says "RDF
is an essential part of the new web technologies and a fundamental layer
of the semantic Web 2.0 [...] This API, compliant with the W3C RDF
specification will allow a developer to handle an RDF graph in its
various forms (RDF/XML, N3, abstract graph). In other words, it would be
the Squeak equivalent of the Jena Java RDF API." However there has
been no activity on Rakaiko since 2007 and there is no apparent
documentation. Has anyone used this and/or is this abandoned?
Page 20 of "ESUG 2006 Welcome" mentions a "RDF Framework for
Smalltalk." Did anything come of this?
Alternatively I could fake it and learn just how to parse the XML
directly and manually translate it into the class model. (It seems
processing an a RDF Schema might be able to automatically create the
class definition as well as the instance creation )
There is PetitXML, which however is not included by
ConfigurationOfPetitParser.24 loaded on Moose 4.6. What is the status
of PetitXML ?
Also Moose 4.6 has XML-Parser. Which of XML-Parser or PetitXML would
be the better approach ?
I've watched http://www.tudorgirba.com/blog/simple-xml-browser-with-glamour
but not sure whether than will help me actually load the data into a model.
You opinion of these various approaches would be appreciated, and of
course pointers to any examples/documentation.
Two questions on SmallDude for code duplication in Moose:
- What is a multiplication?
- How can I create a multiplication constellation visu (
http://www.themoosebook.org/book/externals/visualizations/multiplication-co…
)?
I have an external tool that calculates duplication information (lines
numbers, dupl. classes, code) and I am looking to see if can use dude to
visualize this information.
thanx,
usman
Doru wrote:
>Do you happen to know methods to approach the problem of testing the
>capacity of an application to work with an SQL database?
>
>In particular, I am interested in simulating concurrent requests
>towards this database that would resemble the interaction coming from
>the application.
I once created a simple model for a distributed ram-based OLAP system.
That had independent nodes, connected to a network with known delay and
speed, and simple read-only queries. Queries would just take some space,
move (and split-join) from node to node and increase their timestamps.
For a sql database just start adding complex queries, write locks,
limited buffer sizes, cpu cores & caching and disks...
Not so easy.
Stephan
Hi,
Do you happen to know methods to approach the problem of testing the
capacity of an application to work with an SQL database?
In particular, I am interested in simulating concurrent requests
towards this database that would resemble the interaction coming from
the application.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
Hi Nicolas,
Thanks a lot.
I looked quickly into this. There is at least a simple problem: you are calling queryAllOutgoingDependencies, but this method does not exist anymore. I guess we should replace this with queryAllOutgoingAssociations.
Is this due to a wrongly published refactoring?
Cheers,
Doru
On 30 Jan 2012, at 23:58, Nicolas Anquetil wrote:
>
> Hi,
>
> I already spent 4 hours on this and am not anywhere near the solution :-(
> I think I got myself on a wrong track and cannot get out of it.
>
> So I will ask your help see if you can do better.
>
> From what I understood, the problem is not related to the metrics, but comes
> from accesses to global variables.
> When one does a atClassScope on a queryResult containing an access to a global
> variable, this one returns nil to the message claassScope (this is normal),
> and for some reason that I cannot understand the nil gets inserted in the
> storage of the queryResult in some cases (not always) in the form of a
> SetElement containing it.
>
>
> After lot of debugging, I finally got a method (LANInterface>>originate() )
> that accesses (among other things) SmalltalkGlobalVariable.
>
> My problem is that from here the behaviour seems heratic to me :-(
>
> - 'theMethod queryOutgoingAccesses atClassScope' works,so it does filter out
> the nil coming from the 'SmalltalkGlobalVariable classScope'
> - 'theMethod queryOutgoingReferences atClassScope' also works (there is no
> global variable involved there anyway)
> - 'theMethod queryStaticOutgoingAssociations atClassScope', does not work, it
> contains a SetElement that contains a nil :-(
>
> What baffles me is that the definition of
> FAMIXMethod>>queryStaticOutgoingAssociations is:
> ^ self queryOutgoingAccesses
> addAll: self queryOutgoingReferences;
> "addAll: self queryOutgoingInheritances; -- inheritance does not
> make sense here"
> yourself.
>
> I even simplified it a bit to be more sure: staticAssociations = all access +
> all inheritance.
>
> So taken together they exhibit the problem, but taking access alone access
> does not exhibit it.
> If I manually remove all references from the queryStaticOutgoingAssociations'
> result, then it works again, which is logical because this is the same as
> asking 'queryOutgoingAccesses' which already works
>
> Note: to remove elements from the resutls, I use an inspector on the
> MooseQueryResult: 'storage := storage reject: [:a|a class == FAMIXReference]'
>
> Even stranger to me, if I manually remove only one of the references (eg:
> 'storage := storage reject: [:a|a to name = 'String']'), then the result
> starts to be correct again.
>
>
> The test used to built the particular model I am wroking on is
> MooseModelOverviewPyramidExtensionsTest>>testoverviewPyramidMetrics
>
> So here I am.
> Maybe you can provide some fresh view on it?
>
>
> On Monday 30 January 2012 15:09:12 Tudor Girba wrote:
>> Thanks a lot. I ran the tests again and only 6 still have errors:
>> http://ci.moosetechnology.org/job/moose-latest-dev/804/testReport/
>>
>> Let us know how it works.
>>
>> Cheers,
>> Doru
>>
>>
>>
>> On Mon, Jan 30, 2012 at 11:01 AM, Nicolas Anquetil
>>
>> <nicolas.anquetil(a)inria.fr> wrote:
>>> I looked at it.
>>>
>>> Problem is that I forgot to migrate some metrics from SoftEngMetrics to
>>> famix- extension-metrics. So it was correct in my image but not in the
>>> standard one.
>>>
>>> This is corrected.
>>>
>>> I am still having problems with a test in FAMIXPropertiesTest
>>>
>>> It creates a strange situation where a MooseObjectQuery contains a
>>> SetElement containing a SetElement containing nil.
>>> So the problem might come from some unrelated place.
>>>
>>> First the test class FAMIXPropertiesTest gave me troubles because there
>>> are two of them (one in Moose-Tests-SmalltalkImporter-KGB and one in
>>> Moose-Tests- SmalltalkImporter-core).
>>>
>>> Second, I am teaching today, so I don't have lot of time to devote to
>>> this at this moment.
>>>
>>> So I will leave that for further study tonight or tomorrow.
>>>
>>>
>>> nicolas
>>>
>>> On Sunday 29 January 2012 22:32:54 Tudor Girba wrote:
>>>> I forgot the link:
>>>> http://ci.moosetechnology.org/job/moose-latest-dev/803/testReport/
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>> On 29 Jan 2012, at 22:13, Tudor Girba wrote:
>>>>> Hi Nicolas,
>>>>>
>>>>> Your latest changes produced some errors in tests.
>>>>>
>>>>> The troubled seems to be triggered by you removing some methods
>>>>> from
>>>>> FAMIXClassGroup, like abstractness.
>>>>>
>>>>> Could you take a look?
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>>
>>>>> "What is more important: To be happy, or to make happy?"
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "What we can governs what we wish."
>>>
>>> --
>>> Nicolas Anquetil -- RMod team
>>> INRIA Lille Nord Europe
> --
> Nicolas Anquetil -- RMod team
> INRIA Lille Nord Europe
--
www.tudorgirba.com
"To utilize feedback, you first have to acquire it."