Re: Reification alternative

Hi Mirko,

Am 14.10.2010 15:08, schrieb Mirko:
> Thank you all for your helpful comments. First, let me clarify my
> intention. My question aimed not so much at the (internal) storage of
> the data, but really on how to publish them as Linked Data, so that they
> are useful for third parties (= easy to query and consume).
>
> I use Virtuoso and want to publish data that are currently stored in SQL
> tables as RDF Views over a SPARQL endpoint.
>
> As I read here [1, 2], the problem with publishing reificated data is
> two-fold: 1) they are cumbersome to query. 2) semantics are imprecise
> for this use case, because what is described with reification is the rdf
> triple. In my case, I want to describe the information, i.e. the
> "interest" of a user for an item.
>
> So, four solutions for my problem came up here. As I understand three
> solutions - Quads, Named graphs, and publishing the data as several
> files - do not really solve the problems. They are more for internal
> storage then for publishing.
>
> The suggestions of Bob and Leigh seem to be a better solution, because
> the semantics are clear. I think the querying issue remains.
>
> The trick is to express n-ary relations by defining a class for what was
> a property before. In my example, instead of using the property
> "foaf:interest" , I use a class like "e-foaf:interest" [3] or
> "cco:CognitiveCharacteristic" [4]:
>
> @prefix foaf: <http://xmlns.com/foaf/0.1/> .
> @prefix cco: <http://purl.org/ontology/cco/core#> .
> @prefix dcterms: <http://purl.org/dc/terms/> .
>
> ex:AStmt
>        a cco:CognitiveCharacteristic ;
>        cco:agent ex:AUser ;
>        cco:topic ex:AItem ;
>        cco:characteristic cco:interest ;
>        dcterms:modified "2010-10-13^^xsd:date ;
>        dcterms:publisher ex:AService .
>
> ex:AUser a foaf:user.
> ex:AItem a foaf:topic.
>
> This is definitely a viable solution. However, the drawback of this
> solution is that I need new vocabulary. I define classes for things that
> are actually already defined by properties, which seems a bit odd to me.
> The reason why I tried reification was that I wanted to re-use existing
> vocabulary, FOAF in my case, as it is a recommended best-practice for LD
> publishing [1].

Well, the Cognitive Characteristics Ontology is now also an existing 
vocabulary, which is, of course, intented for reutilization.
It's simply the case that the interest relation in FOAF is a "shortcut 
relation", where one need further concept (especially a reification 
class) and property definitions to describe that "shortcut relation" 
more in detail.
So in my mind this is not really a drawback, is it more an elegant 
addition to existing vocabularies, which can be applied in line with them.
However, I would say the information you like to add is more or less 
provenance information and hence 'external context' (after Tolle's 
definition, see [1]) as it can be attached to more or less every 
information resource. So one might like to apply Quads or Named Graphs 
for this context type. Although, the drawback regarding applying Named 
Graphs there, are the singleton graphs, which are not very effective.
This issue is discussed for instance here[2] or here[3].

Cheers,


Bob


PS: BTW, the intended modelling of the e-foaf:interest Vocabulary is 
also included in the Cognitive Characteristics Ontology (as a successor 
of the Weighted Interests Vocabulary 0.5[4]), because their modelling is 
not really applicable due to invalidation (see [5]).

[1] 
http://www.dbis.informatik.uni-frankfurt.de/~tolle/Publications/2004/AISTA04.pdf
[2] 
http://www.semanticoverflow.com/questions/1643/named-graphs-and-multi-graph-documents-standardisation-and-directions
[3] http://lists.w3.org/Archives/Public/semantic-web/2010Sep/0175.html
[4] http://purl.org/ontology/wi/weightedinterests.html
[5] 
http://www.semanticoverflow.com/questions/1472/datatypeproperty-modeled-in-an-objectproperty-way

Received on Thursday, 14 October 2010 14:49:33 UTC