def labelOrSubject(self, argstr, i, res):
        j = self.skipSpace(argstr, i)
        if j < 0:
            return j  # eof
        i = j

        j = self.uri_ref2(argstr, i, res)
        if j >= 0:
            return j

        if argstr[i] == '[':
            j = self.skipSpace(argstr, i+1)
            if j < 0:
                self.BadSyntax(argstr, i,
                    "Expected ] got EOF")
            if argstr[j] == ']':
                res.append(self.blankNode())
                return j+1
        return -1
dataset/ETHPy150Open RDFLib/rdflib/rdflib/plugins/parsers/trig.py/TrigSinkParser.labelOrSubject/original