Thanks!  That will be very helpful in our CI environment.

Regards,

Jim Karavias

On Wed, Aug 1, 2012 at 4:40 AM, Andy Seaborne <a...@apache.org> wrote:

> On 31/07/12 19:37, Jim Karavias wrote:
>
>> Hi,
>>
>> I've been trying to load a dataset using an assembler when starting
>> Fuseki.
>>   I have no trouble loading RDF/XML when specifying external content using
>> an http: url.  Fuseki fails to load n3 data served the same way.
>>
>
> Hi there - there was a bug in determining the syntax.  Nothing to do with
>
> > ja:contentEncoding "N3" ;
>
> which (and the documentation is not clear here) only affects inline string
> data.
>
> It should have poked around and found the ".n3" to guess the syntax.  A
> complete system replacement for reading files with proper content
> negotiation is in the works but for now I've fixed the in-place code to
> work.
>
> The bug is now fixed (in jena-core) and will be in the incorporated into
> the overnight build of everything including Fuseki tonight.
>
>         Andy
>
>
>
>> For example, if i use the following assembler, fuseki loads the dataset
>> just fine:
>>
>> @prefix tdb:     
>> <http://jena.hpl.hp.com/2008/**tdb#<http://jena.hpl.hp.com/2008/tdb#>>
>> .
>> @prefix rdf:     
>> <http://www.w3.org/1999/02/22-**rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>>
>> .
>> @prefix rdfs:    
>> <http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>>
>> .
>> @prefix ja:      
>> <http://jena.hpl.hp.com/2005/**11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#>>
>> .
>> @prefix jpk:  <http://jpk.iag.com/assembler#**> .
>>
>> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
>>
>> jpk:root rdf:type ja:RDFDataset ;
>>   ja:defaultGraph jpk:testgraph;
>> .
>>
>> jpk:testgraph rdf:type ja:MemoryModel ;
>>   ja:content    [
>>      ja:externalContent <http://localhost:8080/test/**
>> resources/IDTestModel.rdf<http://localhost:8080/test/resources/IDTestModel.rdf>
>>
>>> ;
>>>
>> ];
>> .
>>
>> However the following fails with a SAX parser error that I believe
>> indicates that its still trying to parse RDF/XML when the external content
>> is N3:
>>
>> @prefix tdb:     
>> <http://jena.hpl.hp.com/2008/**tdb#<http://jena.hpl.hp.com/2008/tdb#>>
>> .
>> @prefix rdf:     
>> <http://www.w3.org/1999/02/22-**rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>>
>> .
>> @prefix rdfs:    
>> <http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>>
>> .
>> @prefix ja:      
>> <http://jena.hpl.hp.com/2005/**11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#>>
>> .
>> @prefix jpk:  <http://jpk.iag.com/assembler#**> .
>>
>> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
>>
>> jpk:root rdf:type ja:RDFDataset ;
>>   ja:defaultGraph jpk:testgraph;
>> .
>>
>> jpk:testgraph rdf:type ja:MemoryModel ;
>>   ja:content [
>>
>> ja:contentEncoding "N3" ;
>>
>> ja:externalContent 
>> <http://localhost:8080/test/**resources/IDTestModel.n3<http://localhost:8080/test/resources/IDTestModel.n3>
>> >
>>
>> ];
>> .
>>
>> Exception:
>>
>> C:\Program Files\jena-fuseki-0.2.1-**incubating>java -jar
>> fuseki-server.jar
>> --update  --desc=C:\git-repositories\**snap-client\src\test\
>> resources\IDTestAssembler.ttl /DB
>> 11:15:03 INFO  Server               :: Dataset from assembler
>> 11:15:03 ERROR RDFDefaultErrorHandler ::
>> http://localhost:8080/test/**resources/IDTestModel.n3(line<http://localhost:8080/test/resources/IDTestModel.n3(line>1
>>  column 1):
>> Content is not allowe
>> d in prolog.
>> com.hp.hpl.jena.assembler.**exceptions.AssemblerException: caught:
>> org.xml.sax.SAXParseException; systemId: http://localhost:8080/test
>> /resources/IDTestModel.n3; lineNumber: 1; columnNumber: 1; Content is not
>> allowed in prolog.
>>    doing:
>>      root: 4243f4d7:138de3f8d93:-7ffe with type:
>> http://jena.hpl.hp.com/2005/**11/Assembler#ContentItem<http://jena.hpl.hp.com/2005/11/Assembler#ContentItem>assembler
>>  class: class
>> com.hp.h
>> pl.jena.assembler.assemblers.**ContentAssembler
>>      root: 4243f4d7:138de3f8d93:-7fe8 with type:
>> http://jena.hpl.hp.com/2005/**11/Assembler#Content<http://jena.hpl.hp.com/2005/11/Assembler#Content>assembler
>>  class: class
>> com.hp.hpl.j
>> ena.assembler.assemblers.**ContentAssembler
>>      root: 
>> http://jpk.iag.com/assembler#**testgraph<http://jpk.iag.com/assembler#testgraph>with
>>  type:
>> http://jena.hpl.hp.com/2005/**11/Assembler#MemoryModel<http://jena.hpl.hp.com/2005/11/Assembler#MemoryModel>assembler
>>  class: cl
>> ass com.hp.hpl.jena.assembler.**assemblers.**MemoryModelAssembler
>>      root: 
>> http://jpk.iag.com/assembler#**root<http://jpk.iag.com/assembler#root>with 
>> type:
>> http://jena.hpl.hp.com/2005/**11/Assembler#RDFDataset<http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset>assembler
>>  class: class
>> co
>> m.hp.hpl.jena.sparql.core.**assembler.DatasetAssembler
>>
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.AssemblerGroup$**
>> PlainAssemblerGroup.**openBySpecificType(**AssemblerGroup.java:138)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.AssemblerGroup$**
>> PlainAssemblerGroup.open(**AssemblerGroup.java:117)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.AssemblerGroup$**
>> ExpandingAssemblerGroup.open(**AssemblerGroup.java:81)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.AssemblerBase.open(**
>> AssemblerBase.java:52)
>> ...(omitted)...
>>          at arq.cmdline.CmdArgModule.**process(CmdArgModule.java:51)
>>          at arq.cmdline.CmdMain.**mainMethod(CmdMain.java:96)
>>          at arq.cmdline.CmdMain.mainRun(**CmdMain.java:59)
>>          at arq.cmdline.CmdMain.mainRun(**CmdMain.java:46)
>>          at org.apache.jena.fuseki.**FusekiCmd.main(FusekiCmd.java:**101)
>> Caused by: com.hp.hpl.jena.shared.**JenaException:
>> org.xml.sax.SAXParseException; systemId:
>> http://localhost:8080/test/**resources/IDTes<http://localhost:8080/test/resources/IDTes>
>> tModel.n3; lineNumber: 1; columnNumber: 1; Content is not allowed in
>> prolog.
>>          at
>> com.hp.hpl.jena.rdf.model.**impl.RDFDefaultErrorHandler.**fatalError(**
>> RDFDefaultErrorHandler.java:**60)
>>          at
>> com.hp.hpl.jena.rdf.arp.impl.**ARPSaxErrorHandler.fatalError(**
>> ARPSaxErrorHandler.java:51)
>>          at
>> com.hp.hpl.jena.rdf.arp.impl.**XMLHandler.warning(XMLHandler.**java:211)
>>          at
>> com.hp.hpl.jena.rdf.arp.impl.**XMLHandler.fatalError(**
>> XMLHandler.java:241)
>>          at org.apache.xerces.util.**ErrorHandlerWrapper.**
>> fatalError(Unknown
>> Source)
>>          at org.apache.xerces.impl.**XMLErrorReporter.reportError(**
>> Unknown
>> Source)
>>          at org.apache.xerces.impl.**XMLErrorReporter.reportError(**
>> Unknown
>> Source)
>> ...(omitted) ...
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.ContentAssembler.**
>> objectAsContent(**ContentAssembler.java:154)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.ContentAssembler.**
>> addExternalContents(**ContentAssembler.java:82)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.ContentAssembler.**
>> loadContent(ContentAssembler.**java:68)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.ContentAssembler.**
>> open(ContentAssembler.java:44)
>>          at
>> com.hp.hpl.jena.assembler.**assemblers.AssemblerGroup$**
>> PlainAssemblerGroup.**openBySpecificType(**AssemblerGroup.java:130)
>>          ... 36 more
>> Caused by: org.xml.sax.SAXParseException; systemId:
>> http://localhost:8080/test/**resources/IDTestModel.n3<http://localhost:8080/test/resources/IDTestModel.n3>;
>> lineNumber: 1;
>> columnNumber
>> : 1; Content is not allowed in prolog.
>>          at
>> org.apache.xerces.util.**ErrorHandlerWrapper.**createSAXParseException(**
>> Unknown
>> Source)
>>          ... 61 more
>>
>>
>>
>> I've tried with and without the .n3 extension on the URL.  I've also
>> ensured that the content is being served as "text/n3" from apache.
>>
>> Here are the first few lines of n3 I'm trying to load:
>>
>> @prefix xsd:  
>> <http://www.w3.org/2001/**XMLSchema#<http://www.w3.org/2001/XMLSchema#>
>> >.
>> @prefix urn:  <http://www.iag.com/2012/snap#**>.
>>
>>     <urn:1>   a  <urn:ID>;
>>
>> <http://www.w3.org/2000/01/**rdf-schema#label<http://www.w3.org/2000/01/rdf-schema#label>>
>> "This is the title"@en;
>>
>> <urn:hasTitle> "this is the title"@en;
>>
>> <urn:hasDescription> "this is the description"@en;
>>
>> <urn:hasCreator> <urn:2>;
>>
>> <urn:hasOrganization> <urn:3>...
>>
>>
>> Am I using ja:contentEncoding property correctly?
>>
>> Regards,
>>
>> Jim Karavias
>>
>>
>

Reply via email to