Невозможно получить синтаксический анализатор Apache Jena для получения @id из файла json -ld - PullRequest
0 голосов
/ 31 марта 2020

У меня есть файл jsonld, который я анализирую с помощью Jena. В файле есть @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"
            }
         ],

1 Ответ

0 голосов
/ 31 марта 2020

У меня все получилось. Если к @id можно получить доступ в методах getLocalName () субъекта или ресурсов.

...