我有一个使用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"
}
],
我已经解决了。 @id可以在主题或资源上的getLocalName()方法中访问。