[ https://issues.apache.org/jira/browse/JENA-2099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Seaborne resolved JENA-2099. --------------------------------- Resolution: Duplicate > Converting rdfstar to plain rdf formats do not work > --------------------------------------------------- > > Key: JENA-2099 > URL: https://issues.apache.org/jira/browse/JENA-2099 > Project: Apache Jena > Issue Type: Question > Components: RIOT > Affects Versions: Jena 3.17.0 > Reporter: Chris Mungall > Priority: Major > > Given a file ex1.ttl > > {code:java} > @prefix : <http://www.example.org/> . > :employee38 :familyName "Smith" . > << :employee38 :jobTitle "Assistant Designer" >> :accordingTo :employee22 . > {code} > > my expectation is that I should be able to use riot to serialize as plain > rdf, ttl, ntriples, rdf-xml, and json-ld, with reification used (I cannot > find a normative statement in the spec to support this but I hold it's a > reasonably user expectation given what has been written about rdfstar by the > authors of the spec). > This doesn't work however: > > {code:java} > $ riot --out=jsonld ex1.ttl > org.apache.jena.riot.RiotException: Subject node is not a URI or a blank node > at > org.apache.jena.riot.writer.JenaRDF2JSONLD.parse(JenaRDF2JSONLD.java:64) > at > org.apache.jena.riot.writer.JsonLDWriter.toJsonLDJavaAPI(JsonLDWriter.java:200) > at > org.apache.jena.riot.writer.JsonLDWriter.serialize(JsonLDWriter.java:174) > at > org.apache.jena.riot.writer.JsonLDWriter.write(JsonLDWriter.java:135) > at > org.apache.jena.riot.writer.JsonLDWriter.write(JsonLDWriter.java:141) > at org.apache.jena.riot.RDFWriter.write$(RDFWriter.java:208) > at org.apache.jena.riot.RDFWriter.output(RDFWriter.java:166) > at org.apache.jena.riot.RDFWriter.output(RDFWriter.java:113) > at > org.apache.jena.riot.RDFWriterBuilder.output(RDFWriterBuilder.java:204) > at > riotcmd.CmdLangParse.lambda$createAccumulateSink$0(CmdLangParse.java:348) > at riotcmd.CmdLangParse.exec$(CmdLangParse.java:172) > at riotcmd.CmdLangParse.exec(CmdLangParse.java:130) > at jena.cmd.CmdMain.mainMethod(CmdMain.java:92) > at jena.cmd.CmdMain.mainRun(CmdMain.java:58) > at jena.cmd.CmdMain.mainRun(CmdMain.java:45) > at riotcmd.riot.main(riot.java:29) > {code} > > similarly for export to rdfxml > When I convert to turtle, the syntax remains turtlestar: > > {code:java} > $ riot --out=ttl ex1.ttl > @prefix : <http://www.example.org/> . > :employee38 :familyName "Smith" . > << :employee38 :jobTitle "Assistant Designer" >> > :accordingTo :employee22 .{code} > > I'm not totally sure if this is what should happen. I'm not totally sure of > what the different file format options are, and if there is a distinct > "turtlestar" and "ntriplesstar" (as an aside, it would be useful to have more > command line help on permissible values for input and output formats in riot). > My expectation is that parsing should be lenient as should accept *star > syntaxes, but allow fine-grained control in output as to whether plain rdf > syntax or *star syntaxes are used (with expansion to reification happening in > the latter), but I may be using riot incorrectly. > FWIW, explicitly using reification doesn't syntactically convert to rdfstar, > e.g. with ex1r.ttl: > > {code:java} > @prefix : <http://www.example.org/> . > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . > @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . > :employee38 :jobTitle "Assistant Designer" . > [a rdf:Statement ; > rdf:subject :employee38 ; > rdf:predicate :jobTitle ; > rdf:object "Assistant Designer" ; > :accordingTo :employee22 > ] . > {code} > > I can't seem to convert this into rdfstar syntax using riot > -- This message was sent by Atlassian Jira (v8.3.4#803005)