W3C

RDF Data Shapes Working Group Teleconference

31 Oct 2014

Agenda

See also: IRC log

Attendees

Present
Arnaud, SimonSteyskal, Arthur_Ryman, Anamitra, hknublau, michel, kcoyle, pfps, ericP, Nick, AxelPolleres, fabien-gandon, DeanAllemang, SumitPurohit, BartvanLeeuwen
Regrets
Chair
Arnaud
Scribe
DeanAllemang, kcoyle

Contents


<arthur> getting "conference is restricted at this time"

<Arnaud> yes, hold on

<Anamitra> same here

<Arnaud> we haven't started yet

<Arnaud> ok, let's use that number

<Arnaud> ok, we're on

<Arnaud> you can call in

<Arnaud> code 26632

<Anamitra> I am still getting conference is restricted

<SimonSteyskal> 26632

<Anamitra> ok

<SimonSteyskal> not 33

<Anamitra> got it

<kcoyle> Anamitra: the phone conference?

<kcoyle> ok, because arnaud just got on and started it

<Anamitra> right - but was dialing 33 - so will try 32

<Anamitra> 978677.aaaa = Anamitra

<Anamitra> +1.978.677.aaaa is Anamitra

<Anamitra> I dont see the slides from Eric's Shex

<Anamitra> is there a link for that?

<hknublau> I am trying to call in but it states that "the conference is restricted at this time".

<hknublau> (I tried using 26633#)

<SimonSteyskal> 26632

<Arnaud> sorry, we got a different number

<hknublau> Thanks, Simon

<kcoyle> Anamitra: are you looking for yesterday's slides of eric's, or today's?

<Anamitra> todays for SheX

<ericP> OWL CWA/UNA slides

<Anamitra> thanks EricP

<kcoyle> slide links will be on https://www.w3.org/2014/data-shapes/wiki/F2F1#Friday

<hknublau> Could someone mute the computer presenting https://talky.io/shapes ? There is an echo.

<kcoyle> muted. better now?

<Arnaud> scribe: DeanAllemang

<kcoyle> hknublau: is echo gone?

<hknublau> Yes thanks, kcoyle

Presentations of existing technologies

Schedule: Peter, Holger (first hour)

Eric, Arthur (second hour)

<Anamitra> the link https://www.w3.org/mid/5453ABEC.1060106@gmail.com from EricP does not work

<SimonSteyskal> http://lists.w3.org/Archives/Public/public-data-shapes-wg/2014Oct/att-0070/constraints.pdf

<ericP> OWL CWA/UNA slides

ericP: Admits that he is inadequate

<ericP> at least it was shorter

<SimonSteyskal> talky.io/shapes

<Nick> Arthur, go to talky.io

<fabien-gandon> visioconf : https://talky.io/shapes

<hknublau> Anyone on talky, please mute yourselves.

<hknublau> better ;)

OWL/ICV

pfps: How one could use OWL constraints as RDF Validation, much is impleented in Stardog
...: 2 inputs RDF and constraints (in OWL axioms)
... You can define new classes based on the RDF graph, constraints use extant voc

<scribe> ...: New defs are macros (non-recursive)
...: example (see slides)
... OWL axioms - are they satisfied by this graph?
... This isn't OWL entailments, these are constraints that are satisfied. The graph is a single model

Does this way of looking at world satisfy this (these) axiom(s)?

FO formula on a model.

not on arbitrary set.
...: Herbrand model is the actual target model
... Hence just about everyting could be SPARQL
... Recxursive recognition condition is allowed

<AxelPolleres> this is a subset of restricted FO-queries, but not all FO-queries, e.g. UCQs work.
...: recursive data and recursive defintion requires some work in interpretation

ericP: Recursive def can be done programmatically without much difficulty. pfps: Yes, that's right

pfps: There are many implemetnation techniques, that's one. Usually can do this in SPARQL

ericP: Allof the proposals can do this, right? pfps: Not sure .....

pfps: Recursive defs are tricky to get right. All positive is not so bad,negatives can get hairy. Don't do that.
... Let's forbid this. Different intuitions about answers
... Typo on F F == >=1 R.F INTERSECT forall R.F

<SumitPurohit> Which slide# we are right now ? Thanks

There are no slide numbers

This is "Example" at the top of the slie

first line is "G"

Does that help?

AxelPolleres: 

AxelPolleres: So this condition can only be satisfied by circular data? pfps: Yes.

<Zakim> AxelPolleres, you wanted to ask about where recursion here occurs?

AxelPolleres: What does DL notation bring in terms of expressivity? E.g., recursion, could we do that in SPARQL?

pfps: Some can, e.g., positive turns in to iterative
...: Negative circularity,all bets are off

AxelPolleres: Doesn't do conjunctive queries

pf: Unary and Binary

AxelPolleres: Not relational algebra

pfps: Can't define (eg.) rectange is twice its width. YOu could do a square

<AxelPolleres> … neither builtins
...: Operations on datatypes missing.
... Could use OWL syntax, plus SPARQL predicates
... In SPARQL ICV, up to E on tihs slide are supported

(i.e., not the recursive ones)

pfps: INput as above, output "Are constraints violated?" also new vocabulary

<SumitPurohit> @Dean Thanks....Got it :-)

pfps: To make this real, you'd add annotations for explanations, e.g., "no range", and report that back for the subject
... Simoilar to SPIN
... How it works: Minimal RDFS model is the herbrand model of G, like a triple store does with closures
... Potentially infitite graph is detail, but can be dealt with
... "Minimal" means only create objects for things in the graph, make them different,
... miminal/nonminimal is like closed/open world

ralph: Multiple types, does this cause a problem?

pfps: That's fine, minimal model can deal with this.
... Ignore multiple containers is easier
... e.g., Integers, you could have an infinte number. Don't do that

<Zakim> AxelPolleres, you wanted to ask whether there's any awkwardness around bnodes involved here or whether one should care about that?

AxelPolleres: Assumes ICV treats blank as constants

pfps: Cretae an object for the blanks

pfpss: All constraints can turn in to SPARQL, some are slightly different

pfps: Glitch - names are strings, and his is blank. what then?
... Boolean is problemmatic. What should we do?
... This is bad data - an error condition. A violoation of framework.

<arthur> +q

<Anamitra> I see a lot of tools to describe complex constraints here - but I dont see a simple non SPARQL way to get a list of graph properties

<Anamitra> is there something I am missing here?

Anamitra: Please go on queue to ask that question. I'd like to discuss it

arthur: ResourceShape has concept of "known property"
... A property has 0 or more occurencess is different from property not mentioned
... Part of resource shapes is to talk aobut properties you konw about
... Some other property should be "unkown" can you do that here?

pfps: No, not really
... this doesn't fit well into formal logic framework

arthur: Use case is advertising what can appear in resource

We had this example yesterday in our stories.

<Anamitra> +1 to the form builder use case

Form builder use case is on our list from Pirate

pfps: Core part is that this works the same as the others - translate to SPARQL
... One could argue that this is a human-readable fro certain humans

<ericP> DeanAllemang: jachubus said ICV is the same as SPIN

DeanAllemang: Kendall and Jacobus say that ICV and SPIN are identical

pfps: This def is reductionins of the formal work that went in to ICV talks about OWL KB not RDFS

<arthur> +q
...: RDFS makes simpler treatment

arthur: disagrees with identity statement

Arnaud: We are not supposed to discuss comparisons in this session

SPIN

<AxelPolleres> http://www.slideshare.net/HolgerKnublauch/spin-and-shapes

hknublau: History of SPIN
... Invented at TQ a few years back based on TQ's consulting experience
... new way to use SPARQL to merge it with ontology deffs
... Supported by the tool stack (Composer, Live) plus and open-source API on Jena. No strings license.
... No direct commercial benefit to TQ. other vendors in progress. Member submission in 2011
... Some hesitance because of association with commercial software. So TQ sees benefit of oppening up the standard
... SPIN match to SHAPES is very good
... Used around the world
... Constraint def. for square - width=height
... execute query for instances of Square. Any that match are violations

(hence width!=height)

hknublau: Anything in SPARQL is fair game

<AxelPolleres> … constraints need to be formulated negatively, to catch violations.

hknublau: COmments are saved as an errror message
... CONSTRUCT syntax to specify structure of the violoation.
... Not just a violoation, but stuff about it. Which property is involved, points to "path" to the volation, and a label.
... Makes it possible to make names that include current value.

<AxelPolleres> CONSTRUCT constraints "fire" whenever they give a non-empty result, which is understood as kind of a witness of the violations

hknublau: ConstraintVioloation is a RDFS class, is extensible
... can have extra info for user interface

pfps: On what nodes does this run on?

hknublau: All the instances of square and subclasses
... could run on whole graph; take the query, and put a clause at the start, with an iteration clause
... Can pre-bind variables if you have a single value

pfps: e.g., I have a graph that says smallsqure sco square, A a smallsquare. Does SPIN run on A?

hknublau: DeanAllemang: ralph: Yes.

pfps: But RDFS corner cases that this won't cover.

<Zakim> AxelPolleres, you wanted to ask whether constraints be only put to Classes

<AxelPolleres> So, is RDFS resoning in-scope? is only "standard-use" of RDFS in-scope?

AxelPolleres: CCan constraints be put only on classes, or also on the result of a query? e.g., a 1-variable query that identifies resources, is this possible?
... "Everything that has a name should have a an age"

<pfps> my question is whether constraints are always run on all RDFS instances of the class that the constraint is attached to

hknublau: First have to infer a type
... Have to define a class

<AxelPolleres> AxelPolleres: this again shows the need for macros or rules (to define classes that you want to check constraints on)

hknublau: Shows a SPIN extension
... Add info into the constraint so a search engine

DeanAllemang: Exension needn't be in spin: namespace? hknublau: yes

ericP: Extensions are things that would have beeen in CONSTRUCT, right? hknublau: yes
... Made the construct look like path query of Google

hknublau: View this as syntax sugar
... SPARQL in TBC, with pretty print, autoocmplete, etc.
... Example: Width of rectangle > 0 .
... same thing for height

DeanAllemang: Copy and paste is not a re-use strategy

hknublau: Generalize this constraint, same constraint with different property
...: Replace width with height

hk: SPIN templates

hknublau: Next example is a template for positive values.
... Pass values in from outside, substitute property.
... Instantiate the template in the ontology
... Pass parameter to template, it will act as if the constraint were there

DeanAllemang: Do we treat this as macro-expansion?

hknublau: Uses pre-binding of SPARQL
... Shows instantiated templates, displayed in human readable way
... Human readable uses the metadata from the constrainty
... This is jsut one representation. Can alos see triples if you like.
... systme can execute the constraint as SPARQL, or can examine the query
... More tool support: Click on a class to create constraint at that class, system provides template list for you to generalize from
... E.g., specify that some predicate is a key, and provides template for the URI, makes sure that it matches
... Can use it to generate the URI based on the ISO code (i.e., generation or recognition)
... SPIN as constraint language and sharing metadata about class
... more tool sppt. For some ontoloyg, activate a constraint library. E.g., SKOS constraints, they check the box, and the SKOS constraints are added
... Add in the OWL closed world axioms to TB constraint check

hk: SPIN templates can be used to make domain-speciifc modeling languages

hknublau: Publish templates on the web, so they themselves are semantic web data.
... Also producing a high-level vocabulary to hide SPARQL from useres who don't know it.
... While still generic SPARLQ engines can process them.
... If yo have a SHAPES or OWL processor, it doesn't have to use SPARQL.
... maximizes expressivity with friendly syntax

Anamitra: From slide 10 to 11, how did the tool figure out height and width?

hknublau: That was part of the ontology design, specifies constraints on the properties that he designed

Anamitra: If I have multiple constraints on heights, can I have that>

hknublau: You can have two constraints, or merge into one node, to be shown in later slides.

Anamitra: Seems like default model is driven by constraints, inferring properties seems from angle of constraints.

hknublau: Understand the question? The ontoloyg designer defines a property, uses it in a constraint.

taken offline.

hknublau: SPIN Functions. Like templates, but not as constraints, new SPARQL functions.
... e.g., compute area, takes one arg, the rectangle
... COmputes product of height and weight
... Use that function in another query (in a BIND clause)
... Use this to simplify complex SPARQL queries
... Publish all these (templates, constraints, functions) on the Semantic Web (with URIs)
... Example -> http://semanticquality.org
... e.g., subsets of OWL like OWL2RL profile , import that constraint set (etc.),
... SOmeone can use this and extend it, web-style.
... Anyone can publish extensions, and popular ones will survive.

<fabien-gandon> NB : SPIN functions have an overlap with the ISWC 2014 paper on a Web of Functions https://github.com/lidingpku/iswc2014/blob/master/paper/87970401-toward-the-web-of-functions-interoperable-higher-order-functions-in-sparql.pdf?raw=true

hknublau: This WG should define a starting point library of frequently used constraints and other
... Package this, and hope it is useful
... Layer cake picture of how it fits in.
... SPIN is syntactic sugar on SPARQL, link to class defintions, Shapes library would be an instance of SPIN template library
... Would be nice to have OWL library in SPIN, e.g., CWA in a consistent way
... Re-use the ones they want
... While suing types not expressible in OWL
... OSLC_CM:ChangeRequest

<SumitPurohit> +q

<Anamitra> thanks Holger - the last slide help answer my question

ralph: I use SPIN over OWL for OWLRL. Is layer cake right? Should have better OWL interaction.

hknublau: SPIN has no dependency on OWL< but you can use them together.
...: That's why we drew it that way
... OWLRL in SPIN , but no dependency
... And that's what a layer cake means.

SumitPurohit: What is the current support for SPIN, and what does it take to do it?

hknublau: 1) Open source API for Jena, which they can use (programmaticall) with just about any RDF database.
... Sesame was started, not finished.
... Goal is that if this were standard, then the dbs will build this in.
... e.g., say Oracle likes this, and adds a feature to the database to do this.

SumitPurohit: Once adopted, would this be associated with a trigger for incoming data?

hknublau: That's not for this committee to decide, that's up to the vendors. Some may use it for validation on a form, some for UI, ... this is a notation, a declarative vocabularlyl.

<hknublau> @Fabien yes I saw that. It's a similar idea.

<AxelPolleres> http://www.slideshare.net/jelabra/semantics-2014

zheng fong joined the room

telecom equipment vendor

<arthur> see also http://www.w3.org/Submission/shapes/

OSLC Resource Shapte

arthur: slides from one year ago at workshop in Cambridge
... Since that presentation, submitted spec to W3C, cleaned up of OSLC Resource Spec
... Why Open Services Lifecycle Collaboration
... and IBM etc. did this.
... Arose from OSLC motivated by defining spec to enable integration of web apps
... use case of software system dev tools
... Different web apps hosting resources like bug reports, test cases, reqs, etc. all resources are hosted in differnt apps
... cretead by different people in different roles, linked together. Need a way to make them work toget
... REST APIs and RDF, good fit for Linked Data
... At the time LD was read-only, we wanted to take it to read-write
... How to cretae an update resources
... Developed in that communite, now transfered spec dev to real standards orgs W3C and Oasis. OSLC continues as community
... We see SHAPES as second wave
... (see slide 4)
... ENcouarage re-use of vocabularies, discourage new terms
... Not createing ontologies, but rather assembling exising terms
... Integrity constraints on payloads. Looked at RDFS and OWL, but semantics weren't of constraints, but of infernece
... Became aware of ICV, would have used that had it been standard, but it wasn't
... We needed constraints, so that was genesis of resoure shapes
... Not intended to be comprehensive
... Should be accessible to programmers who aren't RDF, RDFS or OWL savvy
... want descriptions machine readable
... query builder. Query across multiple types, need to know cardinality. For creating or editing resources, form builers, need form metadata. But high-level enough fro humans
... Ideally, doc generate from shapes
... Example for bug tracking.
... Each row in table corresponds to a property in the resource, columns are constraints
... Overview of vocabulary on slide 8, and where resource shapes fit in.
... Web app provides services to create or query over a set of resources, those services need metadata.
... Eg, creating factory. is a URL for a container that yo can post a definiton to.
... SPARQL endpoint e.g., to describe content . These can refer to resource shape
... Chart 9 is overbvie of vocabular terms, in OSLC spec, more specific in Submission
... Property resource refers to predicate, indicates a number of constraints
... How this might look in SPIN: Each constraint type cuold be a template
... a lot of OSLC are good fit ofr spin, some aren't perfect
... Cardinality, mandatory, type of values, property refers to resource, recursion.
... Special important case: Set of enumerated values
... Reuse sets of values, e.g., COuntry Codes
... slide 10 is a simplified change request
... Resource Shape is a resource of type ResourceShape
... :describes refers to type(s) of resource
... List of properties expected to occur
... slides 11-17 are screenshots of how this appears in OSLC core spec.
... Details in submission
... slide 17: Not specified semantics precisely, didn't specify in detail what they meant, figured that programmers would know
... If we want to define this, SPARQL is a good match.
... As in SPIN, ASK tells if constraintt is violated or not
... In some cases, yo migth want to assert sometihng true, or something is an exception (violation)
... Some things refer to other graphs. Read-only property, we can say that value after update is unchanged. Then we'd run SPARQL on multi-graph (before and after) express constraint in those terms.
... May be referring to other graphs, e.g., some property p;oints to another kind of resource, then run constraint both on the subject as well as any referred graph
... Nuances of howt o phrase SPARQL semantics
... Chart 18. Occrence constraint. Like a SPIN template for the occurs property. aggregating all values for a given property (status)
... For every resoruce the value of status is at most one, but not requires (count <= 1) SPARQL is good for this.
... phrase constraint as exception
... Check to see that unequal values exist. Coule return info as in SPIN CONSTRUCT
... We haven't specified semantics precisely, we'd like the work group to nail this down. Output of WG would be a set of high-level constraints with precise SPARQL semantics

pfps: Some of the things are outside SPARQL capabilities
... e.g., BEFORE and AFTER

arthur: Not really; just refer to the right data set as graphs
... before graph and after graph
... Tease out scope of constraints. Some strictly on single graph, request or response
... IN others, a bigger context.

pfps: You migth think that SPIN has same "problem", that it goes outside SPARQL. But you can turn SPIN into single queries
... But now yo have to construct graphs, before/after notion, lots of other tings going on.

arthur: Not saysing that SPIN is a copmlete solution, but a huge overlap'

pfps: Apears to be something here that is NEW.

arthur: Dont' get hung up on postcondition; simplest is "read-only"
... You could imagine others. That would be useful, but message is that we want to describe REST apis, not just static rewsources.

Arnaud: Thank you.

ShEx next

<michel> the talky thing dosn't work.

<pfps> i don't think that we are connected to talky

<michel> there we go

<michel> works now

Next F2F Meeting

Arnaud: Face to Face once every 3 or 4 months, need a host to find a room with internet
... Should have a list of opossibilties and dates
... Locations; we have members from all over the world. A cost for travel varies

<michel> regrets, can't be there in person today

<Nick> michel, I restarted it, try again

<Nick> Network here has glitches

@michel, we miss you :)

<michel> Thanks @DeanAllemang. I feel the love :)

<AxelPolleres> SEMANTiCS 2015 could be an option as well…. http://semantics.cc/www.semantics.cc/semantics-2015/index.html

<AxelPolleres> (for a later meeting)

<fabien-gandon> One possibility is ESWC 2015 http://2015.eswc-conferences.org/ May, 31th, 2015 to June, 4, 2015 in Portoroz, Slovenia close to Italy border

<fabien-gandon> Also WWW 2015 http://www.www2015.it/ World Wide Web Conference (WWW 2015) which will be held from May 18 to 22, 2015 in Florence, Italy.

<AxelPolleres> Slovenia is really close to Austria, so we'd be happy to host around ESWC in Vienna as well, although co-location with SEMANTiCS would be preferred from our side.

<ralphtq> Consider collocating with SEMIC 2015 - http://ec.europa.eu/isa/events/2015/semic-2015-semantic-interoperability-conference_en.htm

<Anamitra> +1 for Boston

<ralphtq> TQ could offer WG a location in Raleigh, NC

PROPOSAL: Next face to face, 10-12 Feb

<ralphtq> Need to check if I can book a conference room at the Hunt Library - http://www.lib.ncsu.edu/huntlibrary

<AxelPolleres> +1 (though not sure whether WU members can attend physically on overseas meeting, but will check, otherwise joining remote)

+1

<BartvanLeeuwen> +0

<ralphtq> +1

<pfps> +1, but I may not be able to attend physically

<SumitPurohit> +1

RESOLUTION: Next face to face, 10-12 Feb

<kcoyle> https://www.w3.org/2014/data-shapes/wiki/F2F1#Thursday

ShEx

ericP: adds disjunction, semantic actions, grouping, negations to Resource Shapes
... Semantic actions is an extensibility point
... Disjunction and groupoing were obvious things to add
... Not tied to a language, extensions in languages
... Added negation and inverse path
... Driven by regular expression intuition
... Regex over a set (of triples), but regular bag expressions that does exactly that
... Goal is to add semantics to the resource shapes
... Guessed that semantics on slide 3 means, "a foaf:name of type string, I have to have one, and no more"
... non-qualified universal constraint

kcoyle: Over the whole universe!?

ericP: No, just this shape
... ex:name is a string, there is just one
... Another possible interpretation: You satisfy there is one that is a string, others are unconstrained. Former is probably more intuitive

<AxelPolleres> small detail on keaywords… would prefer something like minCardinality/maxCardinality over exactly-one/zero-or-one, … known terminology from XML, OWL, etc

pfps: is OWL on slide 3 equivalent? Yes, it is.

ericP: slide 4: look at Jose slides

http://www.slideshare.net/jelabra/semantics-2014

Slied 11

<AxelPolleres> … starting with slide 11

ericP: Terminals from Turtle
... notions of bnode, literal, URL, all the same
... (:Assigned :unassigned) on this is a value set.
... Could use * or + to mean more than one
... So if I had (....)+ then I could have more

ralphtq: Can you use

| for disjunciton?

ericP: @ is indirection, go over there
... Types are stuck in as bare URIs
... So if I have a uri, then it is just a literal restriction.
... Effectively UML. When peoplewrite UML they write like this.
... Slide 12. Arc rules
... value definintioons. Can be a datatepe, a value set, an @reference, a stem (anything in this lex class of URLs), and you can say -, hwich means "anything except"
... Slide 14 identify predicates by qname or uri, stem, or subtraction

AxelPolleres: Can have stems in teh alternatives in a value set?

ericP: Not sure . . .
... Thinks they are permitted in the algebra, maybe the grammar, not sure
... Alternatives: Either foaf:name or rdfs:label with a |

pfps: | as XOR is not what you normally expe t

ericP: | was to make decideability easier
... Cardinalitiy slide 16. Just like regex, *, +, ?, nothing means 1
... {n,m} for at least n at most m

pfps: This is all with the two-part reading

ericP: Bottom on slide 16. If you have a reproducdedBy, then you must also have a reprodcuedOn, whcih is a date. If you miss one, you can't have the other. "," means and

pfps: This is where 5-value logic comes in

ericP: Quantity (ab) in regex. In order to do that logic, end up with logics with nested parens...
... Suppose reproduce were optional, I don't know if I am passing or failing. 0 mathces on a 0 is a different part of the truth table
... slide 17. semantic action
... generic extensibility, e.g., is this date after that one.
... this wasn't in other language eg. Resource Shapes.
... arbitraty number of languages
... Handled like prefix declaration, type on a URL
... e.g., %js is my javascript

ralphtq: LIke Antler

pfps: Your matching model drives the processing model

ericP: Mathcing says, if you don't have this extension, then ignore
... this is superimposed on matching model

pfps: So I can't optimize away things

<ralphtq> Semantic Actions are like ANTL? Eric said yes

ericP: That's right

<ralphtq> ANTLR

ericP: If you have side effects and return values that effect matching, then you can't optimize
... slide 18
... Operational Semantics in Zed and Setbuilder notation
... Recursion isn't formally represented in the Zed notation
... slide 19, 20
... ShEx ahs expressivity to use RS ontoloyg, then extended with a new namespace. A purely conjunctive shape expression, in Turtle is identical to RS.
... ShExC is the Compact Syntax of ShEx.
... Semantic extensions: GenX and GenJ for XML and JSON.
... Round-triple to XML wtih an oder-transversal of graph to build a DOM
... slide 21
... This paradigm that was defined for semantic actions can be used e.g., for XML transformations.
... slide 22, 23
... Example for GenX. Goal was to make it look like regex
... Slide 25 shows four implementations
... Slide 26 Motivating types that aren't fully descriminating. Things with same type arc, different profiles of the same thing.
... ordering, reverse arcs, re-use rules

pfps: The notion of validation here is the same as the OSLC? (which I don't understand)

ericP: Main one is "What is the semantics of a partiuclar arc rule?"

pfps: For SPIN and ICV, storng notion of "what does it take to validate?" When is a ShEx shape satisfied?
... You have these constraints, and a graph, and someone says "yeah" or "nay"

ericP: I am passing this thing to that inteface. Validate against this shape, I have a pointed graph (a graph plus a pointer)
... Rules for Y or N are recursive

pfps: The doc doesn't tell me the rules, just a "shape". You can determine whether a node in the graph matches it .... more or less

<kcoyle> scribe: kcoyle

ericP: closed world recognition of shapes; pfps - that's not validation, that's recognition

<AxelPolleres> again 2 use cases … find shapes vs validate shapes

<AxelPolleres> (we already mentioned that yesterday)

AxelPolleres: we have two use cases; find shapes or validate shapes

pfps: does shape find that node in the graph, and does it validate it?

<arthur> +q

<AxelPolleres> there is a nuance on this, though, validation can include is the resource "just the shape" or is there anything else than the shape around that resource, that's what I still don't have clear.

AxelPolleres: is the shape satisfied? is there more?

ericP: 'closed-shapes' is what it's called - one possible answer is a dot-dot rule at the end; every shape is closed,then at the end you open the shape.

AxelPolleres: what does it mean when you open it?

ericP: it means: for any property that has been mentioned - no inference

<AxelPolleres> AxelPolleres: but what if there is subproperty-inference? some approaches allow that...

arthur: semantics of applying a resource shape: you have a graph that has a triple that has an instance shape predicate - that's the starting node in the graph
... the other case is that you have a service you are posting resouces to; those are discriminated by the type of the resource; you see if any of the shapes describe that type
... if more than one is applicable, you have to apply them all
... take the intersection of those shapes

pfps: doesn't see it in the submission document
... gives three kinds of shapes, but doesn't say what arthur just said

rssAgent, draft minutes

<arthur> is anyone there?

<arthur> pfps - see http://www.w3.org/Submission/shapes/#shape-resources, section 5.1 for an Overview of how to associate shapes with resources

<DeanAllemang> scribe: DeanAllemang

Discussion

Arnaud: Big issue before us: Several contenders, many strong commitements
... How do we go forward without losing anyone.
... Should W3C just standardize the market, or lead the market?
... Now we are 15 years in to RDF land, fairly entrenched
... Limit of waiting too long
... Bad to innovate too quickly, waiting is also bad. But in any case, that's where we are: Entrenched forces with different positions
... What is the process? 1) We could have straw poll
... Could make a resolution, with Objection possibility
... If it is incompatible, that doesn't help
... Pragmatic approach, continue as yesterday, sue cases, reqts, different solutions, figure out what it would take to address them, with each solution.
... After possibly several months, we have a more objective process
... Different from Simple majority

kcoyle: I think its too early to discuss the technologies. We need to discuss use cases and reqts, whcih we don't really have much of. Just yesterday, that's not a lot. Until that is nailed down, we hsoldnt be looking at technologies

Arnaud

Arnaud: This is how he is promting people to say how should we proceed.
... If someone is at "my way is the only way"

BartvanLeeuwen: Observing here and the mailing list. Should the outcome of WG be something that increases adoption in general, not a certain technology
... Discuss he sees is "Choose between technologies", maybe that's not the right way to start.

Arnaud: I'm not suggesting a vote now about how we go forward
... There isn't one solution that does everything now anyway.
... Any approach will require work to address everyone's needs

Nick: Useful to have the background of the various techs, as we discuss the use casese, we can alll see the easy mtches from UC to technology
... We want to do more work about UCs in and out of scope
... We had a good discussion about the spectrum of Addressable, Query, Reusable
... I'd like push more boundaries
... e.g., arthur pointed out that shapres are intended to address i/o of REST APIs. A more specific functional req't
... Push on those areas, to see the boundaries of the problem we are trying to address
... None completely fill, others will be close, and we will exetnd ti to fill the remainder

ralphtq: As Methodologist "SODA" Strategic Options Decision Analysis
... Links to Cognitive mappings in COKE (LOL)
... Lets' get decision criteria.
... One is adoptability
... Have to explore this space
... SSM (Soft Systems Methodology)

dallemang: Doesn't Ralph have a tool to facilitate such a session?

ralphtq: That is called Belief Maps
... Proposes that the group chooses a decision methodology

pfps: Speak against "consensus"
... Against the pursuit of consensus
... Can end up with inoffensive crap pablum

Arnaud: Seems like nobody is keen to rush to a conclusion

(no objections to that)

Arnaud: Would like to go to a process to compare the different solution
... Idea of processing seeems a key issue
... Even though we see how to do Resource Shapes in SPIN, there are some key differences. How do you associate Shape to Resource or Service etc.
... Heard pfps question whether "Validation" is an agreed upon idea
... Have a comparison discussion to see how they compare. Details in the corner cases.

pfps: Which side do you want this attacked from? Certain stories/use casees are invalid. Or "out of scope"
... Then we argue about scope of use case/story/reqt
... Another thing is to figure out how to tell how certain technologies can meet certain cases
... How certain technologies can do certain things.

<ralphtq> SODA - "Strategic Options Development and Analysis" - a soft systems methodology (SSM) - google search reveals a number of useful starting points - http://scholar.google.com/scholar?q=SODA+%22strategic+options+development+and+analysis%22&btnG=&hl=en&as_sdt=0%2C5&as_vis=1

<ralphtq> I will post a book reference next

<ralphtq> http://www.amazon.com/Rational-Analysis-Problematic-World-Structuring/dp/0471922862/ref=sr_1_2?ie=UTF8&qid=1414787659&sr=8-2&keywords=Rational+Analysis+for+a+Problematic+World

dallemang: Can we do a comparison to tell how these things really differ? They might be the same to a large extent

Arnaud: How about inferencing? How does it interact?

pfps: It certainly doesn't have to play with OWL, or at least, not all of OWL

Arnaud: to pfps How do we filter the stories? Can we start by scoping any of them out?

<ericP> Pirate Pad

pfps: How about S5?

dallemang: This one seemed odd to me when I first saw it

Nick: But ths is jsut an app; this just recognizes a set of data. What you do with it is your business

pfps: I am happier with that; it is a special case of Closed World Recognition
... "What partts of this graph match a particular definition"

Eric is editing the name of this theme in the Pirate

pfps: Import parts of ontology - this is also closed world recognition
... S8 Something here is about e.g., before/after. This is out of usual scope of SPARQL, when you bring in something else, you take a risk.
... A new capability can dilute your message.

kcoyle: Not sure that's what this means. Any number of shapes, can be applied in workflow.

dallemang: The story uses a facility (multplle shpates) in an app that is out iof scope

arthur: I wasn't here yesterday. You talk about Validation, but this is the Shapes group. Not just validation, you are describing what is in the resources. And saying, "that property never changes" is a description of the resource

Nick: We didn't define scope yesterday; we explored boundaires, don't exclude/include anything specifically

pfps: ... I use the word "Validation", examining RDF Resources for something. Given a graph, look for something. That could be a minimal core. before/after goes beyond that; that's all he's saying.

Arnaud: validation shouldn't be dropped, it is an important use cas.e

<Zakim> ericP, you wanted to mention oslc:read-only

ericP: A couple of discriminators. Something describes topology of graph, declares a set of valid things, so that is like Validation.
... On the other hand, OSLC read-only attribute, that is where we start to discriminate; this isn't Validation, not in the sense that we are likely to take on.
... But it is "description"

pfps: Could do before/after iwth multiple data sets, wthout talking about workflow or time
... Does that make our job easier or harder?
... User Interface stories, maybe Validation / shape checking supports them, maybe not.
... min=0 story; is that going to part of what we say to the world? If so, then claim it. If it makes our life difficult, then we worry.

Arnaud: We used Pirate for convenience in the meeting, In future, go to Wiki for asynchronous editibng
... For next two weeks or so, everyone will add to it.
... We will review on weekly calls

ralphtq: Story points (protagonist, pain, etc.), we might use this to help wiki people to add stories.

Arnaud: Produce Use Case and Reqt document
... Have a User Stories document.
... As we progress, this is useful, because if we exclude, that will inform us as well
... out of scope for now.

pfps: There's out of scope because we don't think this is us, or it is not for us to do.

dallemang: Early in FIBO, there were no stories, use csaes. Difficult to get new people involved

<ralphtq> User stories versus use cases - http://www.stellman-greene.com/2009/05/03/requirements-101-user-stories-vs-use-cases/

BartvanLeeuwen: The stories in Pirate are missing rationale - hard to read Pirate as stories.
... Once they are in the wiki, we can fill them out.

<ericP> \o/

\O/

Arnaud: At the moment, it is still a free-for-all.
... Decide later what is in or out of scope

kcoyle: There are more in DC work

<ralphtq> http://www.stevedenning.com/Business-Narrative/types-of-story.aspx

BartvanLeeuwen: When ericP was emailing him last November, emphasis on UI generation.

<kcoyle> http://wiki.dublincore.org/index.php/DPLA_RDF_application_profile_use_cases#Overview

<kcoyle> The overview is a story, really

dallemang: card=0 is actually a UI story

ericP: Closed Shapes is similar to the card=0 story

pfps: Does card=0 have illocutionary force in ShEx?

ericP: Yes, in that if you don't mention it, then arbitrary triples aren't welcome.

<ericP> dallemang: how do we get to the technical comparison discussion?

<ericP> ... know the landscape

<ericP> ... there may be more common ground than we think

dallemang: How do we get to having a comparision discussion

ralphtq: Proposes another pirate pad for decision criteria

kcoyle: these stories are at high level. They could break down into many use cases, each of those into many reqts. That's how DC does it
... ONce we have that, we can match reqts with technology
... We need more work at this level
... One trick (That DC DB doesn't tdo) is to make the links between stories and reqts more visible. Visualizeon screen, whcih ones are resolved with which technoloyg

ralphtq: We need D3
... D3 is the JQuery of diagramming

kcoyle: Which reqts come out most frequently, can't visualize them

Arnaud: Adding to kcoyle, we're confused by Ralph's proposal. Reqts from nowhereonto a page

ralphtq: When you do a criterion workshop, cards, etc. Some of that (from nowhere) happens, but criteria forces you to stand in the stories ot do it. If you stand in a story, how do I know when I have a good solution?
... How would i recognize it if I ran in to it.
... e.g., Dean would know because his team can adopt it.

pfps: story -> Slogan -> What we want -> How we'll do it. Something that story "really wants". That will drive the technology and reqt's
... That's illustrative. I don't want a 500 page doc to figure out what EPIM really needs to do.

BartvanLeeuwen: In DataOnTheWebBP WG, they did that. UC -> Reqts -> Grouping

<BartvanLeeuwen> http://www.w3.org/TR/dwbp-ucr/#UC-MachineReadabilityofSLAs

BartvanLeeuwen: We weren't doing tech solution then

ralphtq: Tool called Accord that allowed people to score these things
... Belief Map of how my opinion differs fro others; why did we score this differently than I did?
... will post a link to a collaborative tool to find alignment and misalignment.

kcoyle: Funciton of example is to see if we are talking about the same thing

<ralphtq> https://davidullman.com/robustredirect.html for "belief maps"

ericP: Like to look at differnece

pfps: Which are fundamental, which are cosmetic

ericP: The problems we'll run in to will fit in to Peter's head. What happens when you build this system, and this corner case comes up, etc.

pfps: Some are corner, some are philosophical
... E.g., class-centric vs. something else

ericP: e.g., SPIN vs. ICV. Both are Class-triggered

pfps: Is that essential to the appraoch? The implmeentions do that, but in ICV, the theory doesn't rely on that.

<ralphtq> see figure 8 of https://davidullman.com/uploads/INCOSE_trade_studies_final.pdf for what a "belief map" is

ericP: E.g., class is [],

pfps: Or a property name, relationship

ericP: Does that differ for type finding vs. validation.

pfps: CWR (Closed World Recognition) you create a list of things that satisfy a shape or description. Triggered in ICV by having a definition

ericP: Only spac ein the margins : How do you get from Interface (or some expectation) and the shape that some node should match.
... Shippign a pointed graph
... In ICV, that's the same.

pfps: SPIN/ICV triggers off of named classes, but that's because that's how RDF graphs types work.
... Potential philosopical difference is closed shape. Diffiuclt in ICV, at least hard in ICV.

ericP: ShEx compiles a SPARQL query to evaluat the shape. eg Find how many times it occurs, make sure they count the same

dallemang: Why not FILTER NOT EXISTS {C ?pp O}
... ?this rdfs:label [] . FILTER NOT EXISTS {?this ?p []. FILTER (?p != rdfs:label){

s/{$/}

pfps: Things that talk about e.g., stems is hard in ICV

dallemang: We do this in FIBO a lot; CONTAINT (XS:STIRNG (?uri), "edmcouncil")

ralphtq: How do you decide "adequate"? How do we rank requirements?

ericP: It is important because I know how to solve it.
... A goal with my picture - 1) Are we talking about the same thing? and 2) Is this important

ralphtq: Wher edoes imporatance spring from?

ericP: Closer to 80/20 center, the more imporant

kcoyle: How important for funciton X. I can't do UI unless I have this info. Importance has no meaning on its own. Importance FOR doing something

Arnaud: If you don't, then you just have some assumption you aren't saying

ralphtq: importance is also about stakeholders.

Arnaud: we didn't talk about audience and stakeholders

<kcoyle> scribe: kcoyle

Arnaud: stakeholders and audience: brainstorm

kcoyle: stakeholders per story? or a separate list?

ericP: climical informatitians; datamodelrs

kcoyle: data creators

<arthur> API designers

<arthur> API consumers

<arthur> tools developers

arthur: we're heading into an API economy with data in the cloud; e.g. schema.org; KISS
... schema.org has eliminated combined namespaces

<michel> +q will the language developed be more broadly applicable than just RDF?

<michel> not on the phone

<michel> talky!

<michel> yup

<Arnaud> did we lose you?

michel: are we limiting our work to RDF, or do we try to do something that can support other technologies?

dallemang: we should limit ourselves to rdf

<arthur> +1 - we need to focus on RDF

Arnaud: Michel, what's your answer?

michel: impact would be greater if we don't limit to rdf

dean and Peter disagree

michel: there are people using rdbms, other technologies, and they could benefit

Arnaud: is that feasible? or is that a formula for failure?

ericP: one of two solutions: we'll solve in RDF; and we'll do it in a meta layer, and then no one will use it

dallemang: I don't want to compete with relaxng

michel: i am currently working with folks to produce json-ld, not rdf, so trying to lift all boats to rdf;

<michel> network problems

<Arnaud> we lost you

<Arnaud> yep

michel: not that we should try to solve all problems, but are some of the attributes of relaxng,.. intersecting with ... could a subset of what we are talking about be made obviously relevant to others?

ericP: first push forward with rdf, then look and see if it is relevant to others; can this draw people into 'our' technology? thus, look at this later in the process

michel: after we've done rdf, examine its feasibility of application

<ericP> ~

ralph's graph: stakeholders must features in a story; requirements are enabled by capabilities; technologies enable capabilities

ericP: what's a capability?

ralph: maps requirements to capabilities

dallemang: e.g. locate a constraint based on a use (noun phrase)

ralph: 'enterprise service bus adaptor' -
... x resolver

ericP: ability to do stemming on IRI strings; constrain object to that IRI stem = IRI stemmer/stemmer decomposer

Arnaud: 2 possibilities for the remaining time - go back to requirements discussion of yesterday; or go back to tech discussion of earlier today - what are the differences between the technologies?

kcoyle: what are the consequences of choosing a technology? (a particular technology)

pfps: look at spin: could you associate it with things other than types, but can't imagine how it would pay attention to order

dallemang: you can put a ui on regex that others can create without knowing regex

ralph: paradigms; what paradigm of sameness is being used when people say: it's the same
... if people ask me what did you get out of this workshop, i'd say: you con probably map these technologies better than I thought before
... i'm surprised at th extent to which things can align

Arnaud: i've heard others say that; we may not be as far apart as we thought initially; that's a great take-away

ericP: other candidates for tech discussion: semantics of resource shapes with card one or more and type of foo - is that the same as owl saying type of foo ... etc. are the functions identical?
... eric suggests that they are
... but no formal defintiion of resource shapes
... if i have a predicate and I say it's X and has object type foo, and cardinality of one or more - is that the same as all values from foo and min card one OWL ... ICV?

arthur: i'm gonna say yes, because i'm not aware of anything that would make it different

ericP: property definition for foaf:name and another property def for foaf:name in the same shape? would you have to match both?

arthur: checking....

ericP: the semantics i tried said you cannot do that, but that surprised Peter
... not clear between Eric and Peter if that's allowed

arthur: spec isn't that clear; so either the spec is inadquate, or that it is a feature; if 2 prop resources, you'd apply conjunction semantics
... if conflicting properties then no resource would satisfy it
... perhaps we should tighten up the spec, or make it disjunction

ericP: is that hard for icv to do?

pfps: you'd have two restrictions; easy to do; qualified cardinality constructions do exist
... these are a bit unusual

ralph: is this a story?

pfps: jewish grandmother story, have to have one grandchild who is a professional - not exactly one grandchild and that one has to be a profession

ericP: to peter, if you had to pick a terse syntax, wouldit address qualified or unqualified restriction?

pfps: the problem i have with terse syntax being conjunction, seems to put two things that are different together

ericP: my pref is that if you have all values is not a cardinality constraint

dallemang: in icv you can write unqualified cardinality or qualified

pfps: terse in owl is qualified cardinality; but you could create a connector that is conjunction

ralph: when i think about shapes i can get confused about a client providing payload vs. when I ask from a system, what will I get back? subtly different
... maybe want to make a distinction between posting and getting

ericP: e.g. dc:creator - will reject or throw it on the floor; a system uses a select set of predicates

ralph: what is the scenario of use for a shape profile? how will developers use a shape?

Arnaud: oslc - have different domains where partner with other industry players, to define interoperability so products can talk to each other
... we want to integrate around what a defect is; we specify shapes for this; that gives people the contract they will use to insure interoperability

ralph: when I supply an instance on this class I want to if what I'm giving you is what you require

Arnaud: oasis standards: creating resource shapes that apply to a domain

ericP: where are we with resource shapes and owl/icv?
... are RS and owl/icv have the same common utterance?

dallemang: you can say whatever you want; there is no common utterance

pfps: there is an atomic one, but it's not the same as common; were created to satisfy 'normal' requirements; manchester syntax is different from owl solution in this area
... in manchester syntax there were some things that were written differently - esp. some and all

<Arnaud> http://www.w3.org/2014/Talks/1031-ShEx-egp/#%283%29

ericP: slide 3 example w max 1 {{ ex:assigned , ex:unassigned.....

pfps: manchester - only some is the only one; people wrote some values from and didn't know why they didnt get 'al' as well

dallemang: this is a common error

pfps: this is th eonly one in manchester, because it's the most common
... there may be others, but there isn't enough experience to know if there are others

dallemang: many can be '2' e.g. contracts of 2 parties

pfps: as this becomes more common, we'll see more errors

ericP: bottom write of slide three - is this correct? is status always assigned or unassigned, and there is a max of 1;

pfps: yes, manchester does do qualified cardinality
... oftentimes ina superclass it says that you have to have only one status;

ericP: [has made a change - now says max 1 owl: thing, ex:tatus only {{ etc.)

pfps: combo of parens and braces ... odd, but may be benign
... so now resource shapes and owl are saying the same thing
... now asking arthur to answer if RS and ICV on the page are the same

arthur: i think it looks correct; although there is an extta bracket in example, but otherwise ... there is an inconsistency
... need to use same namespace in both; not completely the same; is xsd:string =rdfs: literal?

pfps: value space of html literal is disjoint string
... that's xsd:string

ericP: property definition is that value type implies an all values from, occurs is obvious, and they are unqualified cardinality constraint
... unqualified: how many values / qualified: how many of this value

dallemang: how does one define the semantics of a shape? reduce it to sparql, or the semantics are owl; or you can say icv is equiv. spin/icv - shapes could be syntactic sugar over either of these

pfps: or spin is just macros for sparql queries

arthur: for RS the different shapes can be translated to spin templates; which he did in his talk;

ericP: upper corner -- now is sparql but people aren't happy with it - it would be more readable in spin (as per Arthur and others)
... is sparql saying same thing as owl? on this slide

arthur: let's fix the code and then look at it

pfps: sparql in example is missing a lot; you're doing recognition (a la shex) ; shex defines a shape, sparql returns true or false; ask is a query, with boolean response
... replace ask with select ?s -- some of this is unnecessary
... ok, now matches first half of top left

ericP: second have is a similar pattern, but has named objects

arthur: better if more modular; we might be able to convince ourselves that it's correct
... odds of getting it right are inverse proportional to the length

pfps: do it once, make a template, then everyone can re-use it
... could do same thing using sparql minus so minus set is empty

dallemang: or filter on exists
... the whole idea of spin is that you define macros and make language readable

ralph: when we program we use libraries that exist
... put up basic graph pattern

arthur: are you trying to select the resources that satisfy the constraints

ericP: yes, testing cardinality constraints

<hknublau> just use spl:objectCount() SPIN function

ralph: we're comparing executable and non-executable - comparing apples and oranges?

dallemang: assign this to spin experts

Wrap-up

Arnaud: wrapping up: good to see that the different technologies have much in common; now have a good understanding of landscape, what we hope to develop. All good news.
... shall we have a call next week to report out after the f2f for the others? and for ourselves, to summarize and restate.
... issue of editing irc logs and minutes: need to give permissions to other members of the group; use html put to replace; those are the only possibilities

<Arnaud> ACTION: arnaud to copy/paste the pirate pad content to our wiki [recorded in http://www.w3.org/2014/10/31-shapes-minutes.html#action01]

<trackbot> Error creating an ACTION: could not connect to Tracker. Please mail <sysreq@w3.org> with details about what happened.

<Arnaud> trackbot, end meeting

<michel> bye!

Summary of Action Items

[NEW] ACTION: arnaud to copy/paste the pirate pad content to our wiki [recorded in http://www.w3.org/2014/10/31-shapes-minutes.html#action01]
 

Summary of Resolutions

  1. Next face to face, 10-12 Feb
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.140 (CVS log)
$Date: 2015/02/27 15:47:05 $