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