首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Jena创建OSLC文档?

如何使用Jena创建OSLC文档?
EN

Stack Overflow用户
提问于 2014-12-17 19:45:37
回答 1查看 161关注 0票数 0

我需要创建包含OSLC名称空间中的对象的RDF/XML文档。例如:

代码语言:javascript
复制
<oslc_disc:ServiceProviderCatalog
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:dc="http://purl.org/dc/terms/"  
    xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/"
 rdf:about="{self}">

  <dc:title>{catalog title}</dc:title>
  <oslc_disc:details rdf:resource="{catalog details uri}" />

使用Jena API创建此文档的最简单方法是什么?(我知道Lyo,他们对这个文档使用JSP :-)

谢谢,卡斯汀

EN

回答 1

Stack Overflow用户

发布于 2014-12-17 23:11:52

下面是一个完整的示例,让您开始学习。请注意,这等同于您想要的XML输出,但可能不完全相同。例如,属性的顺序可能会有所不同,还有其他方法可以编写相同的内容。

代码语言:javascript
复制
import com.hp.hpl.jena.rdf.model.*
import com.hp.hpl.jena.vocabulary.DCTerms;

public class Jena {

    // Vocab items -- could use schemagen to generate a class for this
    final static String OSLC_DISC_NS = "http://open-services.net/xmlns/discovery/1.0/";
    final static Resource ServiceProviderCatalog = 
        ResourceFactory.createResource(OSLC_DISC_NS + "ServiceProviderCatalog");
    final static Property details = 
        ResourceFactory.createProperty(OSLC_DISC_NS, "details");

    public static void main(String[] args) {

        // Inputs
        String selfURI = "http://example.com/self";
        String catalogTitle = "Catalog title";
        String catalogDetailsURI = "http://example.com/catalogDetailsURI";

        // Create in memory model
        Model model = ModelFactory.createDefaultModel();
        // Set prefixes
        model.setNsPrefix("dc", DCTerms.NS);
        model.setNsPrefix("oslc_disc", OSLC_DISC_NS);

        // Add item of type spcatalog
        Resource self = model.createResource(selfURI, ServiceProviderCatalog);
        // Add the title
        self.addProperty(DCTerms.title, catalogTitle);
        // Add details, which points to a resource
        self.addProperty(details, model.createResource(catalogDetailsURI));

        // Write pretty RDF/XML
        model.write(System.out, "RDF/XML-ABBREV");
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27524856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档