When using rdf_unserialize and passing in RDF data (from the Calais Web Service), ARC2's flat triples are identifying many of my subjects as s_type 'uri'. However in _rdf_deconstruct_arc2_value in rdf.api.inc:357 it does not process anything by the type of 'uri'. I see 'iri' for processing predicates, but a subject of type 'uri' will be missed.

Is this on purpose or can we 1) add a case for 'uri' that falls through to 'iri' -or- 2) have the 'p' default to 'uri' instead of 'iri', then my subjects can be discovered properly as well. I can supply a patch, but figured I would ask about this first.

Thanks.

CommentFileSizeAuthor
#1 rdf-api-deconstruct.patch576 bytesfebbraro

Comments

febbraro’s picture

Component: ARC compatibility » Code
Status: Active » Needs review
StatusFileSize
new576 bytes

Here is a patch for this.

jmiccolis’s picture

Status: Needs review » Reviewed & tested by the community

This patch looks fine to me, especially as the function we hand the resource to rdf_uri() expects a URI and not IRI as input anyway.

Also, as I understand it and IRI and URI are not exactly the same thing, and we could potentially encounter some issues treating them them as if they are, see http://www.ietf.org/rfc/rfc3987.txt section 3.2

Arto’s picture

Title: rdf_unserialize misses ARC2 subjects with type uri » Support both URI and IRI values from ARC2 in rdf_unserialize()
Component: Code » ARC compatibility
Assigned: Unassigned » Arto
Status: Reviewed & tested by the community » Fixed
Issue tags: +rdf_unserialize, +ARC2

Committed in changeset [177258]. Frank, now that you have CVS privileges to the project, please feel free to directly commit fixes for any other issues you may have had with the RDF API.

Status: Fixed » Closed (fixed)
Issue tags: -rdf_unserialize, -ARC2

Automatically closed -- issue fixed for 2 weeks with no activity.