DOREMUS-ANR / marc2rdf

Converter from UNIMARC/INTERMARC to RDF using the DOREMUS model
Apache License 2.0
6 stars 0 forks source link

Using the same Java class when instantiation the first vs the other performance plans #5

Closed pasqLisena closed 8 years ago

pasqLisena commented 8 years ago

Eclipse mark errors for missing classes in the project:

pierrechoffe commented 8 years ago

Hi Pasquale, yes for the first error this is a typo and you can quietly replace the classes with F25_PerformancePlan and F31_Performance. For the second one, I don't understand because F24, F19 and F30 are in the committed FRBRoo_V2.4_Biblissima file. The only thing I can see is that the spelling is different (underscore instead of camel case) but then it would be the same problem for all classes.

pasqLisena commented 8 years ago

@pierrechoffe maybe there is a bit of confusion. Marc2RDF is not automatically linked to the ontology repo.

manoach commented 8 years ago

Hi @pasqLisena, @pierrechoffe

I confirm what Pierre said :)

@pierrechoffe : F25_PerformancePlan, F31_Performance and so on are just the name of the java classes. If you check in each class, you will find that the composed name is bounded with an underscore ("Publication_Expression", etc.).

pasqLisena commented 8 years ago

Ok I realise now that my Eclipse was not synchronising well the files (sorry).

So actually, no class is missing. But what is the purpose of F25_AutrePerformancePlan and F31_AutrePerformance?

manoach commented 8 years ago

Yes, no class is missing but @pierrechoffe I didn't understand why we have to replace the classes with F25_PerformancePlan and F31_Performance. The purpose of F25_AutrePerformancePlan (whose name is Performance_Plan) and F31_AutrePerformance (whose name is Performance) is to identify the first performance of the work (other than first). For example, the first French creation.

pierrechoffe commented 8 years ago

@manowb @pasqLisena well these classes (AutrePerformance and AutrePerformancePlan) do not exist and if they did they could not have the same identifier (F31 or F25), so if I understand well you need to differentiate a "first performance of a work" from another. But this is done through the U5_had_premiere property (F14 u5 F31), not via a class.The same is true for the first publication of a work, via the U4_had_princeps_publication (F14 u4 F30). Maybe this was a misleading annotation in the documents we sent ? Did you find these classes in the mappings ?

pasqLisena commented 8 years ago

No misleadings in documents, we are talking of different things (java classes vs ontology classes) 😅 Try to write it differently:

AutrePerformance and AutrePerformancePlan do not exist in the ontology (we all agree on this).

In MARC2RDF project there are 2 Java classes named F25_AutrePerformancePlan and F31_AutrePerformance (plus the equivalent ones for PP), pretty similar to the not "Autre" version.

As @manowb says, the purpose is to have:

But, my question: how much are they different? We cannot use the same java class for both? (It is not a complaint, just to make it sure that it was a specific intent for this).

pierrechoffe commented 8 years ago

@pasqLisena @manowb the classes are strictly the same and I would assume you can use the same java class for both (although i don't know what the difference is between java/ontology classes and why there should/may be any difference). The only difference is the context. The first performance ("premiere") is an F31_Performance as any other, except that it is the first. There is an F25_Performance_Plan as for any other performance, the only difference is that there is a specific property u5_had_premiere between F14 and F31. So I assume you can use the same class everywhere, provided you don't lose the specific information carried by u5.

manoach commented 8 years ago

Hi @pierrechoffe @pasqLisena ,

So, we can keep the same class for both but I assume that they must have different URIs (to make clear to which class the u5 property will point) ...

rtroncy commented 8 years ago

There will be two different instances (thus 2 URIs) of the same Java class. I believe you can factorize your code @manowb.