You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (Jira)" <ji...@apache.org> on 2021/05/01 08:55:00 UTC

[jira] [Updated] (JENA-2099) Converting rdfstar to plain rdf formats do not work

     [ https://issues.apache.org/jira/browse/JENA-2099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andy Seaborne updated JENA-2099:
--------------------------------
    Issue Type: Question  (was: Bug)

> 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)