Print

Print


W3C has a convenient web service to parse RDFa 1.1 Lite online:

http://www.w3.org/2012/pyRdfa/

There are also various programming language specific libraries available to parse it offline:

http://rdfa.info/dev/

Some of these may be fussier about the 303 redirect than others.

I occasionally use the Green Turtle plugin in my Chrome browser to poke around in ad hoc RDFa documents:

https://code.google.com/p/green-turtle/

RDFa 1.1 Lite is still relatively new and my sense is there is still some interesting competition between it and JSON-LD in terms of direct integration of data into human friendly pages. Search engines will ultimately decide. It's all RDF under the hood, though. Either way, it seems like content negotiation for either HTML or RDF/XML as the gold standard mechanism for Linked Data is on the wane. 

I'm just guessing, though.

Jeff

>> On May 4, 2014, at 9:50 PM, "Karen Coyle" <[log in to unmask]> wrote:
>> 
>> On 5/4/14, 3:09 PM, Young,Jeff (OR) wrote:
>> I would have to study it a bit, but as an aside:
>> 
>> The W3C best practice document is quite old now and the content
>> negotiation mechanism is a challenge to understand. In contrast,
>> Schema.org uses RDFa instead which I think is nice because it doesn't
>> require the protocol gymnastics.
> 
> Jeff, it would be great if you could take a look at the best practice, at least far enough to let us know if we need to do something special to get this to work with the PURL URIs that DC uses.
> 
> It so happens that the DC documentation page does contain RDFa. Can you explain a simple way to access that? The only way I know to extract RDFa from a page is by using specific third-party programs (and at least one that I tried wasn't able to read the RDFa, but threw errors.) Not only is there not an easy way for folks to know that the RDFa is there (my browser plugin doesn't recognize it), but I also think that the need to know what methods to use to extract it is a barrier to use that I would like to avoid.
> 
> I also discovered some differences between the presumed "official" RDF ontology and the results of transforming the RDFa - for example, the DCType vocabulary appears in the latter as classes, while not in the former. I can imagine that such differences could be confusing to potential users. Personally, I'm completely at sea at this point, after attempting something that I thought would be as simple as clicking a link, which is how I have gotten other ontologies in the past.
> 
> I'd like to see something quite simple and that doesn't require that one have a specific program. I'm hoping we can provide whatever people can do with the least effort, and preferably no programming. (After all, many ontologies are available through a simple link on a web page, cf. FOAF documentation.)
> 
> kc
> 
> 
>> 
>>> On May 4, 2014, at 5:01 PM, "Karen Coyle" <[log in to unmask]>
>>> wrote:
>>> 
>>> Jeff, thanks. It looks like this is the relevant part of the
>>> recommendations in the w3c page:
>>> 
>>> ---------------------------------------------
>>> 
>>> Step 1
>>> 
>>> Create a file called example1a.rdf that contains a complete RDF/XML
>>> serialization of the vocabulary. I.e. all resources defined by the
>>> vocabulary are described in this file. Step 2
>>> 
>>> Copy example1a.rdf to the directory /apachedocumentroot/examples/
>>> on the server from which you wish to serve the content (in this
>>> example the server is www.w3.org). Step 3
>>> 
>>> Set up the following PURL:
>>> 
>>> PURL: http://purl.org/NET/SWD/recipes/examples-A/example1a URL:
>>> http://www.w3.org/2006/07/SWD/recipes/examples/example1a.rdf
>>> 
>>> Notes
>>> 
>>> If the server is already configured to serve files with the .rdf
>>> extension as content type application/rdf+xml then you don't have
>>> to do anything further.
>>> 
>>> ___________________________________________
>>> 
>>> This appears to require that the DC RDF file be the URL for the
>>> PURL: http://purl.org/dc/dcterms/
>>> 
>>> Is that how you understand it?
>>> 
>>> kc
>>> 
>>>> On 5/4/14, 1:27 PM, Young,Jeff (OR) wrote: Here's a Linked Data
>>>> validator report on the namespace and one of the terms:
>>>> 
>>>> http://validator.linkeddata.org/vapour?uri=http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F
> http://validator.linkeddata.org/vapour?uri=http%3A%2F%2Fpurl.org%2Fdc%2Fterms%2Ftitle
>>>> 
>>>> It looks like content negotiation is working on both, but some
>>>> tools are fussy about the initial 303, which could be a stumbling
>>>> block. The issue is mentioned here:
>>>> 
>>>> http://www.w3.org/TR/swbp-vocab-pub/#purls
>>>> 
>>>>> On May 4, 2014, at 3:26 PM, "Karen Coyle" <[log in to unmask]>
>>>>> wrote:
>>>>> 
>>>>> I ran into this problem when attempting to load dcterms into
>>>>> Protege. [1]
>>>>> 
>>>>> Using:
>>>>> 
>>>>> http://purl.org/dc/terms/
>>>>> 
>>>>> as an input URI to Protege failed. Following up using CURL,
>>>>> this led me to (shorted output):
>>>>> 
>>>>> step 1) curl http://purl.org/dc/terms/ <TITLE>302
>>>>> Found</TITLE> The resource requested is available <A
>>>>> HREF="http://dublincore.org/2012/06/14/dcterms#">here</A>.<P>
>>>>> 
>>>>> step 2) curl http://dublincore.org/2012/06/14/dcterms#
>>>>> <title>303 See Other</title> <p>The answer to your request is
>>>>> located <a
>>>>> href="HTTP://dublincore.org/documents/2012/06/14/dcmi-terms?v=terms">here</a>.</p>
> step 3) curl HTTP://dublincore.org/documents/2012/06/14/dcmi-terms?v=terms
>>>>> <title>301 Moved Permanently</title> <p>The document has moved
>>>>> <a
>>>>> href="http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms">here</a>.</p>
> This last URL pulls up the DC web page, NOT the ontology. Which means that http://purl.org/dc/terms/ leads to the web page on the DCMI site, not the ontology.
>>>>> 
>>>>> If instead I include a *property* in the request, e.g.
>>>>> http://purl.org/dc/terms/title, then: 1) Protege loads up the
>>>>> *entire* ontology (without a problem), not just the property
>>>>> requested 2) the curl steps lead me after a single 303 to the
>>>>> http://dublincore.org/2012/06/14/dcterms.rdf, which is the
>>>>> correct RDF file.
>>>>> 
>>>>> DCMI was presumably emulating the FOAF method of presenting the
>>>>> ontology as a web page with RDF behind it. But there is
>>>>> something different: with the FOAF general ontology URI:
>>>>> http://xmlns.com/foaf/spec/ 1) you get back the RDF with a curl
>>>>> request on that URI 2) protege loads the FOAF ontology fine
>>>>> from that unqualified URL
>>>>> 
>>>>> It turns out that FOAF has its RDF at
>>>>> http://xmlns.com/foaf/spec/index.RDF. I don't know if this
>>>>> would work with purl.org. It looks to me like dcterms doesn't
>>>>> have a landing point for the RDF that can be reached with the
>>>>> base URI.
>>>>> 
>>>>> I started with the assumption the the namespace root for
>>>>> dcterms would do content negoation leading to the RDF ontology.
>>>>> It seems that others might assume that they could import
>>>>> dcterms to ontology software using the root URI. That you can
>>>>> do so by adding any of the properties is not intuitive.
>>>>> 
>>>>> Has anyone here had this experience, and do you know of a
>>>>> solution that would work for dcterms? Has anyone tried this
>>>>> with software other than Protege and had success?
>>>>> 
>>>>> Thanks, kc p.s.Thanks to Tom Baker for letting me fill his
>>>>> Skype chat with my attempts, failures, and successes, on a
>>>>> Sunday!
>>>>> 
>>>>> [1] http://protege.stanford.edu/
>>>>> 
>>>>> -- Karen Coyle [log in to unmask] http://kcoyle.net m:
>>>>> 1-510-435-8234 skype: kcoylenet
>>> 
>>> -- Karen Coyle [log in to unmask] http://kcoyle.net m:
>>> 1-510-435-8234 skype: kcoylenet
> 
> -- 
> Karen Coyle
> [log in to unmask] http://kcoyle.net
> m: 1-510-435-8234
> skype: kcoylenet