Search code examples
gf

French partitive ‘de’


What is the best way in the GF RGL to represent the thing that French grammar books usually call the “partitive article” (du, de la, des)?

Examples:

  • Je voudrais de l'eau
    I would like some water

  • Il y a du vin ici
    There is some wine here

The options I see are:

  1. As a determiner? If so, which one? I couldn’t find a ready-made determiner in the RGL that serializes into this. The likely candidates someSg_Det and somePl_Det linearize into something else.

  2. Or as a preposition (de) followed by the definite article (le, la, les)? Because that’s what this so-called “partitive article” can be quite obviously and losslessly decomposed into.

I’m inclined to go for Option 2, but I prefer to ask in case there is a ready-made determiner somewhere that I’ve missed.

Also, I suspect this question must have been asked before by people making use of the French RGL because this partitive thingy is quite common in French.


Solution

  • I haven't personally been involved in the design of the French resource grammar, it's one of the oldest in the RGL, and I just haven't worked with French in any of my projects, so I actually don't know much about it. But this is what I found out by quick experimentation:

    resource Test = open SyntaxFre, LexiconFre, IrregFre, ParadigmsFre in {
      oper
        -- create some NPs with different determiners
        wine : NP = mkNP wine_N ;            -- using MassNP
        aWine : NP = mkNP aSg_Det wine_N ;
        theWine : NP = mkNP the_Det wine_N ;
        someWine : NP = mkNP someSg_Det wine_N ;
    
        -- Use vouloir_V2 that takes a direct object
        vouloirDefault : NP -> S ;
        vouloirDefault np = mkS (mkCl i_NP IrregFre.vouloir_V2 np) ;
    
        -- Use a version of vouloir that always introduces object with de
        vouloirDe : NP -> S ;
        vouloirDe np = mkS (mkCl i_NP vouloir_always_de_V2 np) ;
    
        vouloir_always_de_V2 : V2 = 
          ParadigmsFre.mkV2 IrregFre.vouloir_V ParadigmsFre.genitive ;
    }
    

    And running this in the GF shell, we find the following:

    > cc -one vouloirDefault wine
    je veux du vin
    
    > cc -one vouloirDefault aWine
    je veux un vin
    
    > cc -one vouloirDefault theWine
    je veux le vin
    
    > cc -one vouloirDefault someWine
    je veux quelque vin
    

    The overload instance mkNP : N -> NP comes from the MassNP construction, so that's one way to get an NP with "du/de la N". We see that just applying the default vouloir_V2 to the 4 different NPs, then du comes from the NP, not from the verb.

    Then another way is to specify that the V2 should introduce every object with de, like we do in vouloir_always_de_V2. This gives the following results:

    
    > cc -one vouloirDe wine
    je veux de vin
    
    > cc -one vouloirDe aWine
    je veux d'un vin
    
    > cc -one vouloirDe theWine
    je veux du vin
    
    > cc -one vouloirDe someWine
    je veux de quelque vin