I've enabled the schema.org module. Now, my node title has only the schema:name RDF property and the dc:title property is not shown anymore.

I think schema:name should not replace dc:title. Instead, schema:name should be added.

The schema:name is set in schemaorg_field_ui_field_edit_form_submit().

  if ($schemaorg_mappings) {
    // Specifies the title/name mapping as expected by schema.org. This mapping
    // is always set to schema:name and is not exposed in the UI.
    // The label of an entity is usually either 'title' (e.g. node) or
    // 'name' (e.g. user).
    if (!empty($mapping['title'])) {
      $mapping['title']['predicates'] = array('schema:name');
    }
    if (!empty($mapping['name'])) {
      $mapping['name']['predicates'] = array('schema:name');
    }
...

Even after disabling the schema.org module, schema:name instead of dc:title is shown.

I think this problem is due to the handling of default mappings in the RDF module.

Comments

scito’s picture

Title: Node title: schema:name replaces dc:title » schema:name replaces dc:title in node title rdfa property
Issue tags: +RDFa, +dublin core

Change title and add tags

scor’s picture

Version: 7.x-1.0-beta2 » 7.x-1.x-dev
Assigned: Unassigned » scor
Status: Active » Needs review
StatusFileSize
new1.86 KB

Thanks @scito for the report. Here is a patch which should fix the bug.

scor’s picture

StatusFileSize
new2.74 KB

now with update function.

scito’s picture

StatusFileSize
new2.86 KB

I've fixed a problem in the update function. It should also restore foaf:name. Otherwise the patch looks good to me.