IRC log of shapes on 2015-02-18

Timestamps are in UTC.

14:06:43 [RRSAgent]
RRSAgent has joined #shapes
14:06:43 [RRSAgent]
logging to http://www.w3.org/2015/02/18-shapes-irc
14:06:45 [trackbot]
RRSAgent, make logs rdf-data-shapes
14:06:47 [trackbot]
Zakim, this will be SHAPES
14:06:48 [trackbot]
Meeting: RDF Data Shapes Working Group Teleconference
14:06:48 [trackbot]
Date: 18 February 2015
14:06:48 [Zakim]
ok, trackbot; I see DATA_RDFWG()8:00AM scheduled to start 66 minutes ago
14:06:53 [cygri]
zakim, mute me
14:06:53 [Zakim]
sorry, cygri, I don't know what conference this is
14:07:26 [cygri]
zakim, who is on the phone?
14:07:26 [Zakim]
I notice DATA_RDFWG()8:00AM has restarted
14:07:27 [Zakim]
On the phone I see F2F, ??P15, Dimitris, pfps, ??P17
14:07:36 [Zakim]
+[IPcaller]
14:07:45 [cygri]
zakim, ??P17 is me
14:07:45 [Zakim]
+cygri; got it
14:07:48 [cygri]
zakim, mute me
14:07:48 [Zakim]
cygri should now be muted
14:07:49 [SimonSteyskal]
zakim, ??P15 is me
14:07:50 [Zakim]
+SimonSteyskal; got it
14:07:51 [hknublau]
zakim, [IPcaller] is me
14:07:51 [Zakim]
+hknublau; got it
14:07:51 [Arnaud]
zakim, who's on the phone?
14:07:52 [Zakim]
On the phone I see F2F, SimonSteyskal, Dimitris, pfps, cygri (muted), hknublau
14:07:58 [pfps]
q?
14:08:01 [pfps]
q-
14:08:03 [cygri]
q-
14:08:17 [pfps]
q- ??P17
14:08:18 [cygri]
zakim, clear the queue
14:08:19 [Zakim]
I don't understand 'clear the queue', cygri
14:08:30 [cygri]
ack ??P17
14:08:35 [cygri]
zakim, mute me
14:08:35 [Zakim]
cygri was already muted, cygri
14:08:44 [Arnaud]
you can do queue= to clear the queue
14:08:48 [labra]
labra has joined #shapes
14:10:27 [ericP]
scribenick: ericP
14:11:40 [ericP]
topic: Shapes specification - Direction / Starting point
14:11:51 [ericP]
Arnaud: we've had several submissions to W3C
14:12:02 [ericP]
... also some proposals to the WG with various levels of support
14:12:14 [ericP]
... there are important issues which will consrain the solution
14:12:32 [ericP]
... but if you ignore those issues, there's actually a large core of agreement
14:12:50 [ericP]
... so we should let the differences push us into giving up on a common solution
14:13:02 [ericP]
... key question is "can you live with it?"
14:13:15 [ericP]
... proposals:
14:13:26 [ericP]
... .. LDOM proposal by Holger
14:13:38 [pfps]
It would be nice to have pointers in the log
14:13:52 [pfps]
q+
14:13:59 [Arnaud]
ack pfps
14:14:13 [ericP]
... .. revised LDOM by ericP, which differs by seperating shapes from classes and sequesters templates into another spec
14:14:40 [hsolbrig]
hsolbrig has joined #shapes
14:14:41 [ericP]
pfps: i submitted a response to the original LDOM proposal
14:14:59 [ericP]
Arnaud: i understood that to be a framework, vs. an alternative solution
14:15:09 [cygri]
LDOM proposal (not sure if this is the right version): https://w3c.github.io/data-shapes/data-shapes-primer/
14:15:30 [ericP]
pfps: true, but it's really an attempt to not go the Lasagna Dumplings and Ostrich Meatballs route
14:16:10 [ericP]
... I interpreted the orig LDOM proposal: a philosophy and then SPARQL
14:16:31 [ericP]
... my approach is a completely different way to go
14:16:42 [cygri]
LDOM as revised by ericP: https://w3c.github.io/data-shapes/data-shapes-primer/no-class-templates.html
14:16:44 [ArthurRyman]
ArthurRyman has joined #shapes
14:16:57 [ericP]
Arnaud: not seeing how it's completely different. if we went by your proposal, what would we start with?
14:17:10 [cygri]
pfps’ proposal: https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jan/0119.html
14:17:57 [ericP]
pfps: one could complete that proposal by saying that shapes are exactly the same as in SPIN, i.e. fragments of SPARQL queries, and the rest of the proposal is a vocab consisting of three URLs for supplying scope for those shapes
14:18:19 [ericP]
... and validation is started with two arguments; voila the complete proposal
14:18:55 [Arnaud]
https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Feb/0184.html
14:19:12 [ericP]
Arnaud: we can go back to the high-level issues from peter's list
14:19:38 [ericP]
... q1: will we produce a modeling language?
14:19:58 [ericP]
... some people will say "it doesn't matter if you call it a modeling language."
14:20:20 [ericP]
... our charter isn't about modelling, but whether folks can use it for modeling is accidental
14:20:53 [ericP]
... if we'd claimed to work on a modeling language, W3C may or may not have approved the charter, and others folks would have joined
14:20:59 [ArthurRyman]
q+
14:21:04 [Arnaud]
ack ArthurRyman
14:21:09 [ericP]
... the 'M' in LDOM was "Modelling"
14:21:10 [hknublau]
The M stood for “Model” not “Modeling”.
14:21:34 [ericP]
ArthurRyman: i think it's wrong to try to ape OO programming in RDF
14:21:52 [ericP]
... it doesn't capture the totality of RDF
14:22:14 [ericP]
... you can serialize OO objects in RDF, but i don't want to exclude other uses of RDF
14:22:33 [ericP]
... i'd rather focus on graphs or datasets, describing it as a constraints language.
14:23:26 [ericP]
Arnaud: my assertion is that "no", we're not creating a modelling language
14:23:42 [cygri]
q+
14:23:44 [ericP]
... works with the existing RDF stack (RDFS/OWL) and doesn't replace them
14:23:49 [cygri]
ack me
14:23:51 [Arnaud]
ack cygri
14:24:05 [ericP]
ArthurRyman: we should be complementary, filling gaps
14:24:48 [ericP]
cygri: pfps says the alternatives are "shapes language is designed to work with existing RDFS/OWL or replace them"
14:24:56 [ericP]
... it's a false dichotomy
14:25:12 [ericP]
... e.g. skos wasn't designed to replace RDFS
14:25:52 [ericP]
... things folks would have modelled poorly in RDFS class hierarchy can be modeled in SKOS
14:26:15 [ericP]
... we may indeed replace RDFS for uses for which RDFS was not well suited
14:26:25 [cygri]
zakim, mute me
14:26:25 [Zakim]
cygri should now be muted
14:26:53 [ericP]
pfps: i think that's a steep, slippery slope. we have to be careful and not supplant RDFS
14:27:12 [Dimitris]
+q
14:27:19 [Arnaud]
ack Dimitris
14:27:46 [ericP]
Dimitris: one way is to translate from RDFS to shapes
14:28:12 [ericP]
... two ways to go from OWL/RDFS to shapes
14:29:26 [ericP]
... .. 1 use domain and range to generate shapes
14:29:42 [ericP]
... .. 2 use e.g. allValuesFrom in a closed-world interpretation
14:30:08 [ericP]
Arnaud: does that not antagonize pfps's concearns?
14:30:14 [ericP]
SimonSteyskal: [yes]
14:30:29 [cygri]
Shapes allow doing things that people currently want to (but can’t) in RDFS and OWL. It’s inevitable that Shapes will compete with RDFS in some cases/
14:30:53 [ericP]
topic: target data
14:31:19 [ericP]
Arnaud: RDF graph? RDF graph plus RDFS? LD, where dereferencing is important?
14:31:33 [ericP]
hsolbrig: i have a narrow interpretation.
14:31:43 [ericP]
... the target data is triples.
14:31:51 [pfps]
q+
14:32:11 [ericP]
... our solutions don't assign any special semantics of e.g. rdf:type; they're just triples
14:32:35 [Arnaud]
ack pfps
14:32:39 [ericP]
... i'm interested in a grammar or language that allows me assert what triples must be in a graph with no attention to the referents
14:33:18 [ericP]
pfps: in the vast majority of cases, type, subClassOf, are important to talk shapes
14:33:22 [ericP]
q+ to talk about SPARQL
14:33:55 [ericP]
arthurryman: agree with hsolbrig; we should treat it like SPARQL
14:34:14 [ericP]
... sympathetic with pfps, but folks should apply the right entailment before validation.
14:34:31 [TallTed]
TallTed has joined #shapes
14:34:35 [ericP]
... as a pipeline, first entailment, then validation
14:34:56 [ericP]
... in the linked data world, you have references, and you could model them as a set of graphs
14:35:14 [ericP]
... those referents could have a semantics of what you get from GET.
14:35:24 [cygri]
q+
14:35:55 [ericP]
... but don't need to do that; just an input dataset and a shape, and we define evaluating the shape on the dataset
14:35:55 [iovka]
completely agree with Arthur
14:35:57 [Arnaud]
ack ericP
14:35:57 [Zakim]
ericP, you wanted to talk about SPARQL
14:37:54 [Dimitris]
q+ to talk about SPARQL and inference
14:38:28 [iovka]
+q
14:39:18 [ericP]
ericP: treat validation as a black box. we can do any amount of inference before validation, potentially with multiple pipelines resulting in validating different closures.
14:39:21 [Arnaud]
ack cygri
14:39:57 [ericP]
cygri: in many discussions, we assume that validation that you do to an RDF graph
14:40:11 [ericP]
... arthurryman said it was something you do to a dataset (set of RDF graphs)
14:41:11 [ericP]
... i see why; it's a nice abstraction for dealing with LD and dereferencing, but we'd need a lot more specification to define validation over a dataset as opposed to an RDF graph
14:41:11 [Arnaud]
ack Dimitris
14:41:11 [Zakim]
Dimitris, you wanted to talk about SPARQL and inference
14:41:11 [cygri]
zakim, mute me
14:41:13 [Zakim]
cygri should now be muted
14:41:56 [ericP]
Dimitris: we should SPARQL semantics; in RDF unit, i do some lightweight RDFS inference to validate.
14:42:00 [Dimitris]
?s rdf:type/rdfs:subClassOf* <type>
14:42:25 [Arnaud]
s/should/should use/
14:43:07 [ericP]
ericP: so the inferential closure that's available to you is that which you can evaluate with SPARQL, including property paths.
14:43:32 [ericP]
... and no functional predicates?
14:43:41 [ericP]
Dimitris: right, only type inference
14:43:47 [Arnaud]
ack iovka
14:44:21 [ericP]
iovka: coming back to ericP's comment "we could have multiple inferences and validations", this should be defined externally.
14:44:41 [ericP]
... the scope should be defined externally, and then the graph is applied to the graph.
14:45:11 [TallTed]
s/then the graph is applied/then the shape is applied/
14:45:23 [ericP]
Arnaud: reacting to iovka, in the XML world, folks had different XML processing models in mind in egg smell schema
14:45:52 [ericP]
... we provided no way to associate an instance with a schema.
14:46:17 [ericP]
... they got yelled at. i hope shapes can avoid getting yelled at
14:46:41 [TallTed]
s/egg smell schema/XML Schema/
14:47:09 [ericP]
arthurryman: OSLC provides oslc:instanceShape to link a node to a shape
14:48:23 [ericP]
topic: Shapes and Classes
14:48:56 [ericP]
Arnaud: we talked about a requirement to associate a shape with a class
14:49:10 [ericP]
... wasn't controversial, but there was agreement that they should be linkable
14:49:12 [cygri]
q+ to talk about R2RML
14:49:36 [ericP]
... the next q is whether a shape is a class, which divides the group
14:49:49 [ericP]
... for some, a shape is not a class; don't conflate
14:50:14 [ericP]
... others say "if we make a shape a class, we can inherit rdf:type and rdfs:subClassOf"
14:50:34 [ericP]
... the mechanism are similar
14:50:38 [Arnaud]
ack cygri
14:50:39 [Zakim]
cygri, you wanted to talk about R2RML
14:50:44 [hsolbrig]
+q
14:50:46 [ericP]
q+ to talk about Record Classes
14:51:20 [ericP]
cygri: IMO, i'd like to use shapes along side the modeling activities that i do with RDFS
14:51:35 [ericP]
... i'd like to constrain directly the RDFS classes
14:51:57 [ericP]
... i don't want to have a class hierarchy and a parellel shape hierarchy.
14:52:36 [ericP]
... R2RML (REC for mapping relational data to RDF) uses Turtle representation
14:52:44 [hsolbrig]
-q
14:53:07 [ericP]
... the entities we describe in R2RML are a database mapping
14:53:20 [ericP]
... these aren't RWOs which have an existence outside of the document.
14:53:56 [ericP]
... Data Cubes are statistical data that don't describe something in the real world
14:54:31 [ericP]
... it's nice to say that a Data Cube must have some properties.
14:54:59 [pfps]
I don't see why this situation is not handled by associating classes with shapes, i.e., having shapes completely different from classes.
14:55:03 [pfps]
q+
14:55:19 [ericP]
... if we can't use classes as shapes, we end up making separate shapes, with a division between the modelling of shape and class
14:55:38 [Arnaud]
ack ericP
14:55:38 [Zakim]
ericP, you wanted to talk about Record Classes
14:56:11 [kcoyle]
eric: notion of record classes - classes are about things in the real world
14:56:23 [cygri]
ericP article on record classes: http://www.w3.org/2015/02/shapes-article/
14:56:53 [kcoyle]
... record classes are graphs; thus "classShape" - which can be related to rdf class
14:57:14 [hsolbrig]
+q
14:57:42 [kcoyle]
... identifier then is a class ... looks like owl punning. not clear what implications are where related class has relationships like subclass
14:58:13 [kcoyle]
... recordShape is a record class, not an rdfs:class
14:58:31 [kcoyle]
... example is in section 5 of of his LDOM spec
14:58:35 [Arnaud]
ack pfps
14:59:00 [ericP]
pfps: i think cygri is misidentifying shapes with ShExC shapes
14:59:48 [ericP]
... if ShExC shapes can say that fullfilment of a shape belongs to a class, we can address cygri's use case
15:00:20 [ericP]
ericP: so it's a method of recognition
15:00:33 [kcoyle]
q+
15:00:36 [Arnaud]
ack hsolbrig
15:00:40 [cygri]
pfps, I’d still need to create a separate shape for each class
15:00:57 [ericP]
pfps: if we say that shapes can infer classes...
15:01:48 [cygri]
pfps, meaning I still need to have both of these: r2rml:TermMap a rdfs:Class. r2rml:TermMapShape a shape:Shape.
15:02:51 [Zakim]
-cygri
15:04:45 [cygri]
(pfps, I see what you mean that I may be able to get away without duplicating the *hierarchy* on the shapes side.)
15:06:13 [pfps]
If shapes are classes then you should be able to say <node> rdf:type <shape>
15:06:56 [Arnaud]
ack kcoyle
15:06:58 [TallTed]
pfps - yes! and I think you should.
15:07:31 [pfps]
What does <node> rdf:type <shape> mean?
15:07:41 [TallTed]
Zakim, who's noisy?
15:07:45 [cygri]
(ericP, I find the “x classShape x” thing unacceptable. You and me understand it, but there is no way to explain that to normal people. It’s worse than having two separate resources. Punning would perhaps be fine.)
15:07:53 [Zakim]
TallTed, listening for 11 seconds I heard sound from the following: F2F (100%)
15:08:38 [ericP]
kcoyle: what if my node doesn't have a (useful) rdf:type or oslc:instanceShape arc?
15:09:17 [ericP]
arthurryman: in OSLC, we connect shapes to POST interfaces
15:09:32 [Zakim]
+??P3
15:09:33 [pfps]
q+
15:09:33 [cygri]
zakim, mute me
15:09:34 [Zakim]
sorry, cygri, I do not know which phone connection belongs to you
15:09:37 [cygri]
zakim, ??P3 is me
15:09:37 [Zakim]
+cygri; got it
15:09:41 [cygri]
zakim, mute me
15:09:41 [Zakim]
cygri should now be muted
15:09:54 [ericP]
q?
15:10:02 [Arnaud]
ack pfps
15:10:11 [hsolbrig]
+q
15:11:27 [SimonSteyskal]
https://lists.w3.org/Archives/Public/public-data-shapes-wg/2015Jan/0119.html @tallted
15:12:37 [TallTed]
tnx
15:12:54 [ericP]
pfps: so far, shapes have been satisfied by a node in a graph, not a graph
15:13:01 [ericP]
q?
15:13:29 [hsolbrig]
-q
15:14:38 [ericP]
Arnaud: here's what i hear:
15:15:17 [ericP]
... we have different major use cases:
15:15:20 [ericP]
... .. folks already using classes with constraints attached to the classes.
15:15:51 [ericP]
... .. folks not using classes or classes are conceptually different that there's no sense to mixing them
15:16:03 [ericP]
q+ to pitch record shapes again
15:16:17 [hknublau]
+1
15:16:43 [Arnaud]
ack ericP
15:16:43 [Zakim]
ericP, you wanted to pitch record shapes again
15:16:55 [pfps]
If shapes are classes then someone has to work out how that works out.
15:16:56 [ArthurRyman]
ArthurRyman has joined #shapes
15:17:01 [cygri]
right
15:17:44 [cygri]
ack me
15:18:15 [hknublau]
Instead of ldom:classShape, we should use rdfs:subClassOf
15:20:45 [ericP]
Arnaud: let's have classes be different from shapes, but make it as easy as possible to assert that they are the same.
15:21:29 [ericP]
cygri: so that's fine, but if you want to find the easiest way to say that classes are shapes, you can use punning
15:22:04 [ericP]
... e.g. in OWL, you can use the same name for things that are things that are different in the metamodel
15:22:07 [cygri]
zakim, mute me
15:22:07 [Zakim]
cygri should now be muted
15:22:33 [hknublau]
+q
15:23:20 [pfps]
I would like to see a case where this dual hierarchy is needed.
15:23:30 [Arnaud]
ack hknublau
15:24:35 [ericP]
hknublau: in the previous discussions, people think that we need an rdf:type arc. rdf:type is only one way to connect them.
15:25:00 [ericP]
... one of the opperations we support is to take any instance of a class and find the shape violations.
15:25:23 [ericP]
... another invocation is when it's triggered by rdf:type. that's a speciallization
15:26:02 [ericP]
... if we are defining shapes, and classes are already deployed, do we want to restart all that work and not interoperate with the work that's done
15:27:05 [ericP]
... for example, if we say that every class is also a shape, rdfs:subClassOf allows us to extend without a piece of code having to look for that and ldom:extends
15:27:21 [ericP]
... we can say that philosophically, shapes and classes are different. I fully agree.
15:27:26 [ArthurRyman]
q+
15:27:43 [ericP]
... but keeping them separate will hamper adoption.
15:28:18 [ericP]
... proposal: folks who just work on ShExC could be convinced that they are macros
15:28:44 [ericP]
... we could define a shape that's a subclass of rdfs:Class (inherits the RDFS semantics)
15:29:30 [SimonSteyskal]
owl nothing
15:29:32 [TallTed]
noodling... <x> a <z> ; describedBy <c> .
15:29:32 [TallTed]
<c> a Document ; hasShape <s> ?
15:29:32 [TallTed]
<z> a nonDocument ; hasShape <s> ?
15:29:32 [TallTed]
<x> a nonDocument ; hasShape <r> ?
15:29:44 [ericP]
... ldom:Shape would be a subclass of rdfs:Class and would have a special status like owl:Nothing, which has no instances
15:30:03 [hsolbrig]
+q
15:30:15 [Arnaud]
ack ArthurRyman
15:30:18 [hsolbrig]
-q
15:30:24 [ericP]
... could add a constraint that ldom:Shape can't have direct instances
15:30:32 [hsolbrig]
+q
15:31:31 [ericP]
ArthurRyman: in a given document, the way you get to a node in a graph determines the constraints.
15:31:35 [hknublau]
+q
15:31:53 [ericP]
... when you get a license, you are a Person, and you have a bunch of properties
15:32:03 [cygri]
ArthurRyman, you want to validate a DriversLicenseApplication, not a Person
15:32:25 [ericP]
... the emergency contact is also a Person, but only with one a phone number
15:33:21 [Arnaud]
ack hsolbrig
15:33:55 [ericP]
hsolbrig: hknublau said we'll have a special class called ldom:Shape that has no instances
15:34:19 [Arnaud]
ack hknublau
15:34:27 [ericP]
... the semantics of rdf:type attach an instance to a class.
15:34:41 [ericP]
hknublau: if you have a different relationship, you don't have to use rdf:type.
15:34:55 [ericP]
... you could use oslc:instanceShape or something from outside control
15:35:20 [ericP]
... ArthurRyman's example is a use case for ldom:valueShape.
15:35:54 [ericP]
... global constraints on Person would only be e.g. every Person has a first name