distiller behaviour without base href

I'm experimenting with RDFa for per-term pages on schema.org. I fed
this chunk of markup to your RDFa 1.1 distiller,
http://www.w3.org/2012/pyRdfa/#distill_by_input+with_options

<div resource="http://schema.org/sku" typeof="rdf:Property
owl:Property" property="rdfs:label" content="sku">

<h1 class="page-title">Property: <a href="sku">sku</a></h1>

<div property="rdfs:comment">The Stock Keeping Unit (SKU), i.e. a
merchant-specific identifier for a product or service, or the product
to which the offer refers.</div>

<table cellspacing="3" class="definition-table">
<tr><th class="rangeIncludes-vals" scope="row" colspan="2">Values
expected to be one of these types:</th></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/rangeIncludes"
href="/Text">Text</a></code></td><td></td></tr>

<tr><th class="domainIncludes-vals" scope="row" colspan="2">Used on
these types:</th></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/domainIncludes"
href="/Offer">Offer</a></code></td><td></td></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/domainIncludes"
href="/Product">Product</a></code></td><td></td></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/domainIncludes"
href="/Demand">Demand</a></code></td><td></td></tr>

</table>

</div>


Result was:

@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .

schema:sku a rdf:Property,
        owl:Property;
    rdfs:label "sku";
    schema:domainIncludes </Demand>,
        </Offer>,
        </Product>;
    schema:rangeIncludes </Text>;
    rdfs:comment "The Stock Keeping Unit (SKU), i.e. a
merchant-specific identifier for a product or service, or the product
to which the offer refers." .


... is that even Turtle?

If I wrap my markup fragment in a trivial HTML shell and declare the
base href in header, i.e. this, it works.

<html>
<head>
<title>test</title>
<base href="http://schema.org/" />
</head>
<body>
<div resource="http://schema.org/sku" typeof="rdf:Property
owl:Property" property="rdfs:label" content="sku">

<h1 class="page-title">Property: <a href="sku">sku</a></h1>

<div property="rdfs:comment">The Stock Keeping Unit (SKU), i.e. a
merchant-specific identifier for a product or service, or the product
to which the offer refers.</div>

<table cellspacing="3" class="definition-table">
<tr><th class="rangeIncludes-vals" scope="row" colspan="2">Values
expected to be one of these types:</th></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/rangeIncludes"
href="/Text">Text</a></code></td><td></td></tr>

<tr><th class="domainIncludes-vals" scope="row" colspan="2">Used on
these types:</th></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/domainIncludes"
href="/Offer">Offer</a></code></td><td></td></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/domainIncludes"
href="/Product">Product</a></code></td><td></td></tr>

<tr class="type-nam"><td><code><a
property="http://schema.org/domainIncludes"
href="/Demand">Demand</a></code></td><td></td></tr>

</table>

</div>
</body>
</html>


@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .

schema:sku a rdf:Property,
        owl:Property;
    rdfs:label "sku";
    schema:domainIncludes schema:Demand,
        schema:Offer,
        schema:Product;
    schema:rangeIncludes schema:Text;
    rdfs:comment "The Stock Keeping Unit (SKU), i.e. a
merchant-specific identifier for a product or service, or the product
to which the offer refers." .


(Gregg's behaves the same in both cases, http://rdf.greggkellogg.net/distiller )

My conclusions:

1. I don't understand this result syntax:  </Offer> nor why both tools
produce it; I thought they were different codebases (python vs ruby).

2. it would seem important for RDFa-checking tools to have some
options to deal with setting the base URI, and/or reporting when it
isn't set and might be giving weird results.

It seems like http://rdfa.info/play/ silently patches up examples by
assuming a base href of http://rdfa.info/ hence parses my first sample
into triples such as
"  ... schema:domainIncludes <http://rdfa.info/LocalBusiness>;"

Lately I'm testing with all 3 tools; when they agree, I guess I'm
heading in right direction...

cheers,

Dan

Received on Wednesday, 3 July 2013 21:18:11 UTC