Re: Profiles in Linked Data

Hey Lars,

yes, SPIN is a machine-readable way to describe RDF constraints.

What I still don't understand is why the client gets to choose the
constraint profile. Isn't it the responsibility of the data receiver,
in this case, the Linked Data server?

Using your previous FOAF/GNDO example, could you illustrate what
constraints would go into profile A and what into profile B?

If for example profile A says that foaf:Person instances must have
mandatory foaf:familyName and foaf:givenName while profile B does not
include this constraint, then you have a potentially conflicting model
of your data.

Martynas

On Mon, May 18, 2015 at 4:56 PM, Svensson, Lars <L.Svensson@dnb.de> wrote:
> Martynas,
>
> On Monday, May 18, 2015 3:14 PM, Martynas Jusevičius wrote:
>
>> what you describe here is a classic case of data quality control. You
>> don't want any data to enter your system that does not validate
>> against your constraints.
>
> Yes, that is one use case.
>
>> As mentioned before, SPARQL and SPIN has been used for this purpose
>> for a long time. There are readily available constraint libraries:
>> http://semwebquality.org/ontologies/dq-constraints. But you can easily
>> create custom ones since they're just SPARQL queries. Constrains can
>> be (de)referenced from remote systems as well.
>
> OK, what I haven't understood yet is how a client and a server can negotiate the constraints the client wants the data to meet.
>
> Given is a server that has no SPARQL endpoint but is capable to serve RDF conforming to two profiles/shapes/preferences "profile:A" and "profile:B" (possibly identified by the URIs http://example.com/profiles/A and http://example.com/profiles/B). When a client wants data adhering to profile:B in text/turtle, what would the http GET request look like, and what would you get when you dereference http://example.com/profiles/B with "Accept: text/turtle"?
>
>> Our Graphity Linked Data platform provides a SPIN validator which
>> checks every incoming RDF request:
>> http://graphityhq.com/technology/graphity-processor#features
>
> Nice, but my case is not only about validation. It's also about having a way to describe the constraints in a fashion that clients and servers can understand. If I understand correctly, you say that SPIN is the best way of doing that.
>
> Best,
>
> Lars

Received on Monday, 18 May 2015 15:33:41 UTC