无法让Apache Jena解析器从json-ld文件中获取@id

问题描述 投票:0回答:1

我有一个使用Jena解析的jsonld文件。该文件具有@type @id“ rdfs:label”和“ rdfs:comment”以及范围和域。我有这样的代码

   Model m = ModelFactory.createDefaultModel();

        Reader fileReader = new FileReader(fileName);
        Model model = m.read(fileReader, null, "JSON-LD");
        StmtIterator it = model.listStatements();
        Set<String> set = new HashSet<>();

        System.out.println("Labels");
        while (it.hasNext()) {
            Statement statement = it.next();
  ....

似乎可以提取所有内容,但看不到@id语句。如何在此解析器中获取@id语句?

json-ld的一个片段是

         "@id": "aaa:bbb",
         "@type": [
            "rdfs:Class",
            "owl:Class"
         ],
         "rdfs:label": {
            "@language": "en",
            "@value": "cccc"
         },
         "rdfs:comment": {
            "@language": "en",
            "@value": "dddd."
         },
         "rdfs:member": [
            {
               "@id": "aaaa:eeee"
            },
            {
               "@id": "aaaa:fffff"
            }
         ],
jena json-ld id
1个回答
0
投票

我已经解决了。 @id可以在主题或资源上的getLocalName()方法中访问。

© www.soinside.com 2019 - 2024. All rights reserved.