2017-03-29 62 views
1

我写了一个将数据转换为RDF的函数,我需要将此RDF上传到fuseki服务器。如何使用Java将RDF代码上传到fuseki服务器?

我试图从here实现代码如下

public class GenerateRDF { 
     public void setRDF(String[] personalData) { 
     String serviceURI = "http://localhost:3030/Date"; 
     DatasetAccessorFactory factory = null; 
     DatasetAccessor accessor; 
     accessor = factory.createHTTP(serviceURI); 

     String name = personalData[0]; 
     String nationality = personalData[1]; 
     String date = personalData[2]; 
     String address = personalData[3]; 
     String mobile = personalData[4]; 
     String email = personalData[5]; 
     String website = personalData[6]; 
     String profesional = personalData[7]; 
     String education = personalData[8]; 
     String communication = personalData[9]; 
     String digital = personalData[10]; 
     String professional = personalData[11]; 
     String management = personalData[12]; 
     String certifications = personalData[13]; 

     InputStream in = null; 
     Model model = ModelFactory.createDefaultModel(); 
     Resource node = model.createResource(personURI) 
      .addProperty(FOAF.name, name) 
      .addProperty(FOAF.member, nationality) 
      .addProperty(FOAF.birthday, date) 
      .addProperty(FOAF.homepage, address) 
      .addProperty(FOAF.phone, mobile) 
      .addProperty(FOAF.yahooChatID, email) 
      .addProperty(FOAF.weblog, website) 
      .addProperty(FOAF.plan, profesional) 
      .addProperty(FOAF.knows, education) 
      .addProperty(FOAF.depiction, communication) 
      .addProperty(FOAF.interest, digital) 
      .addProperty(FOAF.publications, professional) 
      .addProperty(FOAF.maker, management) 
      .addProperty(FOAF.made, certifications); 
     String base = "http://test-projects.com/"; 
     model.read(in, base, "RDF/XML"); 
     accessor.putModel(model); 
     model.write(System.out); 
    } 
} 

它返回以下异常:

异常在线程 “AWT-EventQueue的-0” 显示java.lang.NullPointerException 在java.io.FilterInputStream.read(Unknown Source) at org.apache.xerces.impl.XMLEntityManager $ RewindableInputStream.readAndBuffer(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.setupCurrentE ntity(未知来源) 在org.apache.xerces.impl.XMLEntityManager.startEntity(未知来源) 在org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(未知来源) 在org.apache.xerces.impl.XMLDocumentScannerImpl .setInputSource(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers。 XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:151) at com.hp.hpl.jena.rdf.arp.ARP.load(ARP.java:119) at org.apache.jena.riot.lang .LangRDFXML.parse(LangRDFXML.java:142) at org.apache.jena.riot.RDFParserRegistry $ ReaderRIOTFactoryImpl $ 1.read(RDFParserRegistry.java:142) at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr。 java:760) at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:258) at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:244) at org.apache。 jena.riot.adapters.RDFReaderRIOT.read(RDFReaderRIOT.java:69) at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:274) at GenerateRDF.setRDF(GenerateRDF。 java:59) at PersonalInfo $ 2.actionPerformed(PersonalInfo.java:251) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton $ Handler。的actionPerformed(未知来源) 在javax.swing.DefaultButtonModel.fireActionPerformed(未知来源) 在javax.swing.DefaultButtonModel.setPressed(未知来源) 在javax.swing.plaf.basic.BasicButtonListener.mouseReleased(未知来源) 在java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.Ligh tweightDispatcher.retargetMouseEvent(未知来源) 在java.awt.LightweightDispatcher.processMouseEvent(未知来源) 在java.awt.LightweightDispatcher.dispatchEvent(未知来源) 在java.awt.Container.dispatchEventImpl(未知来源) 在java的。 awt.Window.dispatchEventImpl(来源不明) 在java.awt.Component.dispatchEvent(来源不明) 在java.awt.EventQueue.dispatchEventImpl(来源不明) 在java.awt.EventQueue.access $ 500(来源不明) 在java.awt.EventQueue $ 3。运行(来源不明) 在java.awt.EventQueue中的$ 3.run(来源不明) 在java.security.AccessController.doPrivileged(本机方法) 在java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(来源不明) 是java .security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege(来源不明) 在java.awt.EventQueue中的$ 4.run(来源不明) 在java.awt.EventQueue中的$ 4.run(来源不明) 在java.security.AccessController.doPrivileged( (未知源) at java.awt.EventDispatchThread.pumpOneEventFor过滤器(来源不明) 在java.awt.EventDispatchThread.pumpEventsForFilter(来源不明) 在java.awt.EventDispatchThread.pumpEventsForHierarchy(来源不明) 在java.awt.EventDispatchThread.pumpEvents(来源不明) 在java.awt中。 EventDispatchThread.pumpEvents(来源不明) 在java.awt.EventDispatchThread.run(来源不明)

有没有办法解决这个问题?我接受的解决方案......

回答

相关问题