[ 
https://issues.apache.org/jira/browse/JENA-1855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17055775#comment-17055775
 ] 

Andy Seaborne edited comment on JENA-1855 at 3/10/20, 10:29 AM:
----------------------------------------------------------------

Something weird happens - not parser related:
{code:java}
   static Quad q = SSE.parseQuad("(:g :s :p :o)"); 
   static void dwim1(DatasetGraph dsg) {
        try {
            Txn.executeWrite(dsg, ()->{
                dsg.add(q);
                System.out.println(dsg.size());
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    static void dwim2(DatasetGraph dsg) {
        try {
            dsg.add(q);
            System.out.println(dsg.size());
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public static void main(String ... a) {
        dwim1(createDSG());
        dwim2(createDSG());
        System.out.println("DONE");
    }

    static DatasetGraph createDSG() {
        DatasetGraph dsg = DatasetGraphFactory.createTxnMem();
        return new DatasetGraphWrapper(dsg) {
            @Override
            public void add(Quad quad) {
                System.out.println("Add: " + quad.getGraph());
                super.add(quad);
            }
        };
    }
{code}
throws an exception for dwim2 but not dwim1.



was (Author: andy.seaborne):
Something weird happens:

{code:java}
    static void dwim1(DatasetGraph dsg) {
        try {
            System.out.println(dsg.getClass().getName());
            Txn.executeWrite(dsg, ()->{
                RDFDataMgr.read(dsg, "/home/afs/tmp/test.nq");
                System.out.println(dsg.size());
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    static void dwim2(DatasetGraph dsg) {
        try {
            System.out.println(dsg.getClass().getName());
            RDFDataMgr.read(dsg, "/home/afs/tmp/test.nq");
            System.out.println(dsg.size());
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public static void main(String ... a) {
        dwim1(DatasetGraphFactory.createTxnMem());
        dwim2(DatasetGraphFactory.createTxnMem());
        System.out.println("DONE");
    }
{code}

throws an exception for dwim2 but not dwim1.


> TRIG parser yields NULL-graph for quads in default graph
> --------------------------------------------------------
>
>                 Key: JENA-1855
>                 URL: https://issues.apache.org/jira/browse/JENA-1855
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: RIOT
>    Affects Versions: Jena 3.14.0
>            Reporter: Claus Stadler
>            Assignee: Andy Seaborne
>            Priority: Major
>
> Hi Jena Team and Andy, thanks for all your great work on Jena and fixing all 
> my recent issues, but I found another one :)
> The Trig Parser yields quads with a null value in the graph component for 
> data in the default graph. It should be Quad.defaultGraphNodeGenerated.
> Test data:
> {code}
> # test.trig
> @base <http://www.example.org/base-> .
> @prefix : <http://www.example.org/prefx-> .
> <s> <p> <o> .
> :x :y :z .
> {code}
> {code:java}
> Iterator<Quad> it = 
> RDFDataMgr.createIteratorQuads(RDFDataMgr.open("test.trig"), Lang.TRIG, null);
> while(it.hasNext()) {
>       Quad q = it.next();
>       System.out.println(q.getGraph());
> }
> {code}
> {code}
> null
> null
> {code}
> This causes quite unexpected null pointer exceptions, such as in this simple 
> scenario:
> {code}                
> Dataset ds = RDFDataMgr.loadDataset("test.trig");
> System.out.println(ds.asDatasetGraph().size());
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to