json-ld:引用schema:Person的详细信息
json-ld: referencing to details of a schema:Person
是否可以在空白节点上引用 属性?在下面的示例中,如何表达 Secret Agent 2
知道电子邮件 james@007.uk
属于 Secret Agent 1
?以下根据this example for blank nodes
{
"@context": "http://schema.org/",
"@id": "_:n1",
"name": "Secret Agent 1",
"email": "james@007.uk", //the property I want to add
"knows": {
"name": "Secret Agent 2",
"knows": {
"@id": "_:n1"
},
"knowsAbout": { //Agent 2 knows that an email
"@id": "_:n1#email" //is the contact for Secret Agent 1
} //and that the email is "james@007.uk"
}
}
尝试 in the json-ld playground 时,带有 "@id": "_:n1#email"
的位被解释为不存在的新节点 _:b2
在 JSON-LD 中,或者在一般的 RDF 中,你不能真正做到这一点。本文档描述了两个实体,每个实体都具有一组相互了解的属性和资产。该关系是实体之间的关系,与这些实体的特定属性无关。
您可以使电子邮件地址本身成为一个实体,然后声明与它有某种关系。例如,schema.org 有一个 PropertyValueSpecification,它可以有一个 @id
,因此可以被引用,但这不是我选择建模的方式。
JSON-LD-star is a proposed specification for describing the properties of relationships themselves (a variation on RDF-star),因此您可以将关系 _:n1 :email "james@007.uk"
创建为一个实体,但这并没有真正达到您描述的间接性。不过,它可能类似于以下内容:
{
"@context": "https://schema.org",
"@id": "_:n1",
"email": "james@007.uk",
"knows": {
"name": "Secret Agent 2",
"knows": {
"@id": "_:n1"
},
"knowsAbout": {
"@id": {
"@id": "_:n1",
"email": "james@007.uk"
}
}
}
}
但请注意,这些只是提议的标准。
如果您要使用 PropertyValueSpecification
间接寻址(或某种类似的建模),您可以说您知道该电子邮件及其与 _:n1
的关系,而无需泄露实际的电子邮件,本身,但这绝对是非典型的数据建模。
是否可以在空白节点上引用 属性?在下面的示例中,如何表达 Secret Agent 2
知道电子邮件 james@007.uk
属于 Secret Agent 1
?以下根据this example for blank nodes
{
"@context": "http://schema.org/",
"@id": "_:n1",
"name": "Secret Agent 1",
"email": "james@007.uk", //the property I want to add
"knows": {
"name": "Secret Agent 2",
"knows": {
"@id": "_:n1"
},
"knowsAbout": { //Agent 2 knows that an email
"@id": "_:n1#email" //is the contact for Secret Agent 1
} //and that the email is "james@007.uk"
}
}
尝试 in the json-ld playground 时,带有 "@id": "_:n1#email"
的位被解释为不存在的新节点 _:b2
在 JSON-LD 中,或者在一般的 RDF 中,你不能真正做到这一点。本文档描述了两个实体,每个实体都具有一组相互了解的属性和资产。该关系是实体之间的关系,与这些实体的特定属性无关。
您可以使电子邮件地址本身成为一个实体,然后声明与它有某种关系。例如,schema.org 有一个 PropertyValueSpecification,它可以有一个 @id
,因此可以被引用,但这不是我选择建模的方式。
JSON-LD-star is a proposed specification for describing the properties of relationships themselves (a variation on RDF-star),因此您可以将关系 _:n1 :email "james@007.uk"
创建为一个实体,但这并没有真正达到您描述的间接性。不过,它可能类似于以下内容:
{
"@context": "https://schema.org",
"@id": "_:n1",
"email": "james@007.uk",
"knows": {
"name": "Secret Agent 2",
"knows": {
"@id": "_:n1"
},
"knowsAbout": {
"@id": {
"@id": "_:n1",
"email": "james@007.uk"
}
}
}
}
但请注意,这些只是提议的标准。
如果您要使用 PropertyValueSpecification
间接寻址(或某种类似的建模),您可以说您知道该电子邮件及其与 _:n1
的关系,而无需泄露实际的电子邮件,本身,但这绝对是非典型的数据建模。