我正在为我的一个朋友建造房屋。他是一名艺术家,他的主页应包含许多互动元素,因此我决定使用React进行构建。但是,这意味着页面的整体标记在加载时将几乎为空,我想包含JSON-LD格式的数据以重新获得搜索引擎的关注。
因此在val rowRDD = logs.filter(l => !l.startsWith("#"))
.map(l => l.split(" "))
.map(c => new Log(c(8), c(11).trim.toInt));
val rowDF = spark.sqlContext.createDataFrame(
rowRDD,
ScalaReflection.schemaFor[Log].dataType.asInstanceOf[StructType]);
文件中,我有这个:
index.html
但这是正确的<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebPage",
"author": { … }
…
}
</script>
吗?@type
在这里会更准确吗?我什至偶然发现了EntryPoint
模式,这也很好,因为从程序的角度来看,主要索引确实是»Entrypoint«。
答案 0 :(得分:0)
原则上,每个实体都可以用Schema.org表示,而不仅仅是一个。您不必决定是否使用WebPage
或 Person
,都可以使用。
但这还是您的代码段所显示的,因为author
属性的值(理想情况下)将是Person
项。 Person
也可以是其他属性的值,例如about
/ mainEntity
,publisher
等。
对于数据的语义,如果您要查询的是哪个实体,则与JSON-LD中的顶级项目无关。
EntryPoint
类型不适用,因为它适用于协议/ API /等等,而不仅限于任何网页/网站。