N3 model in Trine

Gregory Williams greg at evilfunhouse.com
Thu Jun 10 00:41:58 CEST 2010


On Jun 9, 2010, at 5:14 PM, Toby Inkster wrote:

> I'd probably implement them as a subclass of RDF::Trine::Node::Literal.
> They'd have pretty much no overlap with quads.
> 
> The following N3:
> 
> 	{ ?foo foaf:knows ?bar . }
> 	  => { ?foo a foaf:Person . } .
> 
> Would be represented as a single statement in the model. The predicate
> would be log:implies and the subject and object would be graph
> literals.

Ah, interesting. I hadn't considered that.

> This is because, say:
> 
> 	{ <#x> a foaf:Person . } a rdfg:Graph .
> 
> Does not imply:
> 
> 	<#x> a foaf:Person .
> 
> So you wouldn't actually want the latter in the model.

I had always thought about implementing it with the separation happening at the named-graphs level. That is to say that the triple wouldn't be implied by the statement *in the default graph*, but it would be loaded into its own named graph. Your approach sounds much easier, though I'm not sure about the performance implications.

.greg



More information about the Dev mailing list