在这里,我想将JSON文件转换为RDF.这是JSON
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我找不到将其转换为RDF的正确方法.
没有标准的方法将JSON解释为RDF.有几种方法可以从JSON文件生成RDF(用Java或其他方式).您可以简单地使用在Java中实现的JSON解析器,然后使用用于RDF的Java库(例如Apache Jena或RDF4J(以前称为Sesame))提取相关部分并构建RDF图.但是,还有其他方法可以使任务更容易:
@context.这适用于简单的案例,但不足以涵盖许多相关案例.免责声明:我为SPARQL-Generate做出了贡献.
如果您的目的只是简单地获取有效的RDF而无需对结构做出任何决定,则可以简单地添加一个@context对象并将现有的JSON转换为JSON-LD,例如
{
"@context": {"@vocab": "http://example.org/ontology#"},
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后可以使用适当的RDF / JSON-LD库将其解释为RDF,RDF结构为:
@prefix ns0: <http://example.org/ontology#> .
[] ns0:glossary [
ns0:GlossDiv [
ns0:GlossList [ ns0:GlossEntry [
ns0:Abbrev "ISO 8879:1986" ;
ns0:Acronym "SGML" ;
ns0:GlossDef [
ns0:GlossSeeAlso "GML", "XML" ;
ns0:para "A meta-markup language, used to create markup languages such as DocBook."
] ;
ns0:GlossSee "markup" ;
ns0:GlossTerm "Standard Generalized Markup Language" ;
ns0:ID "SGML" ;
ns0:SortAs "SGML"
] ] ;
ns0:title "S"
] ;
ns0:title "example glossary"
] .
Run Code Online (Sandbox Code Playgroud)
这可能是奇怪的RDF,但是可以使用RDF工具进行加载和操作。
您可以在json-ld游乐场玩这个例子
| 归档时间: |
|
| 查看次数: |
2353 次 |
| 最近记录: |