如何在JSON-LD中编写循环RDF图?

f_s*_*f_s 1 rdf json-ld

我的图表如下:

  [Natasha]--- knows--> [Bob]
  [Bob]--- brother of--> [Alice]
  [Alice]--- play with--> [Natasha]
Run Code Online (Sandbox Code Playgroud)

如何将其嵌入JSON-LD?

我当前的解决方案不起作用:

{
"@context" : {
   "Natasha" : "http://names.example.org/resource/name/Natasha",
   "Bob" : "http://names.example.org/resource/name/Bob",
   "Alice" : "http://names.example.org/resource/name/Alice",
   "knows" : "http://example.com/knows",
   "brother-of" : "http://example.com/brother-of",
   "play-with" : "http://example.com/play-with"
},
 "@id" : "Natasha", 
  "knows" : 
        {  "@id" : "Bob", 
           "brother-of" : { 
                    "@id" : "Alice",
              "play-with" : "Natasha"
        }

        }
    }
Run Code Online (Sandbox Code Playgroud)

uno*_*nor 5

此值被解释为纯文本,而不是URI:

"play-with" : "Natasha"
Run Code Online (Sandbox Code Playgroud)

要将其解释为URI,您可以在上下文中定义它:

"@context": {
  "play-with": {
    "@id": "http://example.com/play-with", 
    "@type": "@id"
  }
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以在提供值时明确说明(就像您已经做过的那样brother-of):

"play-with" : {"@id": "Natasha"}
Run Code Online (Sandbox Code Playgroud)