Linked Open Data
One of the interesting points to come out of the Communicating OpenApp thread was the current focus on Linked Open Data.
Open-App stakeholders unfamiliar with the concept might wonder what Linked Open Data is and what is has to do with "tools for commons-based peer production" and user value.
Use this thread to ask questions about Linked Open Data and what it means for Open-App. I'll update it with my own comments.
Resources:
Tim Berners-Lee TED talk on Linked Open Data
What is Linked Data? video
What is JSON-LD? video
JSON API :: A standard for building APIs in JSON
For more detailed and advanced topics you can check out http://www.euclid-project.eu/
@elfpavlik: thanks for the links. yeah, i agree on the tooling goal. to answer your question, that code doesn't exist yet. now that i have some profile data dreamcode and profile vocab dreamcode, i'll give another go at writing code that uses the vocabs to intelligently SCRUD (search, create, read, update, delete) the data, starting with converting the data to wire formats like JSON and serving basic reads.
I used the yaml-js module
Yo @bobhaugen I tried to load your JSON into our PLP deployment at http://profiles.allmende.io/ and found you would need to http://enable-cors.org/ on your webserver.
@jonrichter - how about this?
http://profiles.allmende.io/provider/8cff2c5f-5b0d-44e8-9d9d-f8f928d40308
(Re enabling cors, I don't think our JSON is correct yet. It was a noob stab at the homework assignment. Still studying how to format and deploy, don't like bob_haugen.json, doesn't seem to be how people do it.)
@bobhaugen Nice, isn't it? It seems we can propagate the PLP schema also to the Open Knowledge Foundation.
@tiborkatelbach How's it evolving on your side? We may have to cooperate soon to finish the event and places schemas. Assetts are also up next, according to @elfpavlik .
@jonrichter Projects before Assets! but now on the road :D https://twitter.com/elfpavlik/status/522824802940100608
@jonrichter @elfpavlik what do you think of this stuff that @ahdinosaur and @lynnfoster and I are working on?
We put a text version of our OVN vocab here:
https://github.com/valnet/valuenetwork/blob/master/docs/core_model.txt
and are working with Mikey to LOD it here:
https://github.com/openvocab/ovn
We'd like to get in sync if possible. But as Mikey says, it's a marathon not a sprint.
@bobhaugen I believe we will have to quietly work through your published pieces. Meanwhile I've submit a small PR.
👍 for Marathon. sigh In MMM/TransforMap we always say the process is an elk/a moose ...
@jonrichter - we use process pretty much the same way as IPOtables that @elfpavlik is working on. Takes inputs, gives outputs. Or think of it as a function.
But yeah, lotta overloaded words in these territories. Project is another. So is Asset.
I just want to make sure that we keep the term Project out of the disussion; at least as long as possible.
I refer "to these things" often quite practically to as Processes. As I like to think into spatiotemporal terms, coming from Physics. Newtonian's could even bring in Forces now, but that's another thing; quickly touching questions of hegemonial gouvernance.
Well, please everyone, have your daily update on Organized Networks. The one link from Ned Rossiter's Blog, together with Geert Lovink that I must have mentionned earlier. And you may also like my introductory paragraphs about it in the Public Space Invaders essay.
We have an obligation towards our littermates (Hans Jonas) that we get those hyper-structuralist (just-made-up) concepts out of our minds. sentence said.
In a cybernetic way, one could even prioritize Knowledge over Assett, arguing in a way that the collective intentionality of swarms (networks, multitudes / E. Thacker 2004) is only been built through the Extension of Mind through assets (> Philosophy of Mind, qualia, neuronal correlate disucssions) in action.
There is no Project at all, only probability functions in n-dimensional, topologic space. Have a look at TopoTime or Fluid Views, for example. The compartiments of the aggregates might be less complex in the end, than we thought.
Pardon me. Just revisiting some earlier thoughts continually.
@jonrichter - you're pardoned, barely. Only because of the Fluid Views reference...;-)
And yes please, keep Project out of the discussion.
But maybe repeat the urls for "Organized Networks. The one link from Ned Rossiter’s Blog, together with Geert Lovink that I must have mentionned earlier. And you may also like my introductory paragraphs about it in the Public Space Invaders essay"?
@jonrichter , we are really moving forward but since we're doing this a side project, because it's auto financed , we're not as efficient as we'de like to be.
but our roadmap has Person, Organization, next are Events, and Projects and Assets/Ressources could follow.
our first batch is in schema.org vocab, I'd also like to convert to Activtity Streams very soon
but in the mean time we could prepare the data structures for our assets endpoint, on buidingCommons
@bobhaugen @ahdinosaur @lynnfoster, excellent work on the endpoints, we have to sort out our common usage , if we want to share our endpoints , it would be great to have a work session on these, I see a lot of similarities
especially for the interface approach , I'd love to show you the automated form generator based on Type definitions
@jonrichter fluid Views is really excellent do you have contact with Marian ? it could be a super integration into our data representations
@tiborkatelbach I must admit that I find your use of term 'endpoint' bit confusing! so far i would say thatwe work on common schemas
endpoint i would suggest reserving for things like
- http://schema.org/EntryPoint
- http://www.hydra-cg.com/spec/latest/core/#discovering-a-hydra-powered-web-api
- http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams2-actions.html#dfn-potentialactionhandler
@bobhaugen @ahdinosaur thanks for link to repositories, will try to check it out ASAP!
@elfpavlik sure common schemas is good
i have a question for you @elfpavlik, and anyone else who has experience with OWL/RDF-style Linked Open Data, regarding how to model @lynnfoster and @bobhaugen's model for value networks. they are using the type object pattern, reminiscent of smalltalk, which i really like. however, i'm starting to get the feeling that this is against the grain of how OWL/RDF is intended to be modeled. the popular way seems to be to make new subclasses for all the things. instead of just Process and ProcessType, we would have something like Process, TranslationProcess, 3DPrintingProcess, etc.
what do you think? if we should do subclassing, i'm gonna try and learn more about how vocabs are defined and rethink how i do my schemas, so they can describe vocabs instead of contexts, which honestly might be better given the power that could be unlocked with software that provides an easy way to define entirely new vocabs (even if most are sameAs or equivalentClass) and also intimately understands vocabs instead of just contexts (like being able to understand the defined similarities between foaf:Person and schema.org:Person).
Is creating lots of subclasses that beneficial? I like the pragmatic approach by Popolo spec, e.g. see note about org types here: http://popoloproject.com/specs/organization.html:
"In general, subclasses should only be used if the benefits outweigh the complexity. It is of no use to create the classes Partnership, LimitedCompany, UnlimitedCompany, etc. if all these classes behave the same way in your use case. It is simpler to use the classification property in that case."
thanks @paulmackay1, that's a great example of the type object pattern in the wild. i feel better now, haha. :)
@paulmackay1 Excellent doc on popolo , it's exactly in the the openApp & building common startegy and very close to Human PIxel as well , it would be a pleasure to see how we can converge our energies ?
Some advantages of type objects can be seen in Sensorica. Here are their ResourceTypes. Want to create a subclass for each of them?
http://nrp.sensorica.co/accounting/resources/
Or here's the Driftless Herbal Exchange Network:
http://dhen.webfactional.com/accounting/resources/
They're just getting started, they'll have more.
@jonrichter @elfpavlik minor correction on our use of process vs IPOtables: what IPOtables calls Process, we call ProcessType. IPOtables is actually creating type objects.
Here's how type objects fit into economic networks:
https://drive.google.com/file/d/0BxlqOeaPnXHfN0RMemRPMWpDdlk/view?usp=sharing
@tiborkatelbach - we have Activity Streams on our roadmap, too. Please ping us when you get there, and we will do the same.
@ahdinosaur yesterday while hitchhiking i got chance to read ~40% of http://workingontologist.org/
i find it very nicely explaining things, in the middle of RDFS chapter now which explains some nice patterns with using rdfs:subClassOf, rdfs:subPropertyOf, rdfs:domain, rdfs:range and how inference works there!
@paulmackay1 I need to take some time go learn more about poplo! BTW how about doing in next days call around Code for All API? @tiborkatelbach it also has projects! http://codeforamerica.org/api/#api-projects and I played with JSON-LD macro for it https://github.com/elf-pavlik/cfapi-browser/blob/master/app.js#L6
@bobhaugen I don't know if you saw this tool
qa.pixelhumain.com/ph/tools/vie
to write schema.org schemas
but I'm planning on adapting it for AS very soon to make it easy to generate forms automatically for creating semantically structured data
https://www.youtube.com/watch?v=jHL-RoHdoNo
I need to pull it out as a standalone project actualy
but the first alpha POC is here to play with :)
What do people mean by Project? For Sensorica, it is a combination of an organization (project team) and a product line: long-life, no definite end, e.g. we are working on drones. For some people, it is more like a process: defined deliverables/goals, expected end date. For others, somewhere in the middle.
@elfpavlik , we have to find a way to commonise our efforts
This week end would be great for a call , I'm on travel after that
@tiborkatelbach - thanks, I had not seen that tool. Unfortunately, looks like we will be referencing a lot more vocabs than schema.org. In general, at least so far, where schema.org and goodrelations define the same concept, I like goodrelations better. Could the same tool work for different vocabs?
@bobhaugen Martin Hepp works on aligning Schema.org and GoodRelations even further!
@paulmackay1 Agree on subclasses vs types. Of course there is always a gray area, and it tends to be a bit of an art, but here are a couple possible criteria:
I think subclasses should be used where there are clearly different properties and behavior, and the classes are universally used. For example, Person and Organization are useful as subclasses.
On the other hand, if the types can/should be user defined, you would not want to use subclasses. For example you wouldn't want TranslationProcessType or 3DPrintingProcessType, per the @ahdinosaur example. If you want users to define their types and there is behavior involved, you can put that at a level above the type level, and the user can choose the type-type, so to speak. :)
A copy of original TypeObject pattern:
http://www.cs.ox.ac.uk/jeremy.gibbons/dpa/typeobject.pdf
See advantages and disadvantages.
Citation info for original:
http://dl.acm.org/citation.cfm?id=273453
Agree with @tiborkatelbach on meeting to figure out how to better organize our efforts here.
I wonder if we should have separate sub-groups and/or separate loomio discussions for each piece of the schema? Like Agent (Person/Org), Project, OVN operations (big but needs to be cohesive), etc. Subgroups could present back for further comment.
Other thoughts?
@bobhaugen
it's the objective to integrate Activity Streams next
and prepare a common and generic process and format to make it easy
to travel inside lov.okfn.org
to write schemas
to generate the corresponding form dynamically
@elfpavlik code for all Civic Tech is really clsoe as well
we really have to converge , there's to many similarity to all be doing the same thing :)
@tiborkatelbach - here's where we are going with Activity Streams. Might need to be an extension:
https://docs.google.com/presentation/d/1JEPsxJOjEMHNhvIGLXzcvovrpXqpoY75YaPHDKI0t9w/edit#slide=id.g368effe15_0192
Re convergence: how many of us are trying to do the same thing, or part of the same thing, or intersecting things?
What values do we share?
How many of us would have the same ideas about e.g. Project, Asset, Process, etc.?
Which of these territories is most ripe for convergence? I'm guessing Agent(Person, Organization). What next?
I'm not expecting detailed answers to all of those questions now. They are just factors in how to organize a practical convergence.
Why not create a doc a bit like https://docs.google.com/spreadsheets/d/1oSq4L6rvgQlcZDLgdalzyBnFpU41RxPEjh2HlU_s3Io/edit#gid=0 ( https://docs.google.com/spreadsheets/d/1oSq4L6rvgQlcZDLgdalzyBnFpU41RxPEjh2HlU_s3Io/edit#gid=0 ) and list the object types in 1st column, then properties in the next column? Add suitable descriptions. Could that be a useful way to iterate on what the different views are on objects, attributes and their meanings?
That's excelent Paul
does popolo have an interface for creating all these structures ?
Maybe add a column for each different definition of the same concept?
Or "same as" or "similar to"?
I'm not quite sure what you mean by "an interface for creating"?
Perhaps it would be worth starting a separate doc where you could add more columns? That CfAPI doc is specifically for the evolution of that API, whereas here there seems to be several projects and a need to at least see where the harmonisation or differences are?
@paulmackay1 - I assumed you meant, start a new doc based on that idea.
Question for the LOD savvy: what is (or what are) the viewpoint(s) of LOD? Individual agent or independent? Or both or either, depending on situation?
I am scratching my head.
For example, from the viewpoint of a buyer, it's a purchase order. From the viewpoint of a seller, it's a customer order. From the independent view, it's an order.
Or, the independent view of a hierarchical relationship is that it's a hierarchical relationship, or more broadly, a hierarchy. From the viewpoint of a superior, it's "my subordinates". From the viewpoint of a subordinate, it's "my superior".
From the viewpoint of an organization, it's "my members". From the viewpoint of a member, it's "my organization". From the independent view, it's probably memberships. Or more broadly, an organization.
@ahdinosaur - in https://github.com/openvocab/ovn/blob/master/vocab/Agent.js you put the collection of relationships with the Agent. So, since those relationships are binary, the other Agent in each case would have a similar relationship? How or when would the independent view (overview of relationships in a network, for example) come into LOD? E.g.
http://tip.webfactional.com/accounting/radial-graph/5/
@bobhaugen i was thinking each Agent would reference the same relationship. the relationship has a direction with the isRelated / hasRelated properties. so for a membership between a person and a group, they each reference the same relationship, where isRelated points to the person who is a member and hasRelated points to the group who has a member.
@ahdinosaur - yeah, it's clearly the same relationship from an independent view. Like it is the same order.
In LOD, does the relationship itself have an independent URI? (You can tell I am still a noob...) And if it does have its own URI, what domain?
[edited] Mikey proposes what I think is a pretty good solution: each end of a reciprocal relationship lives in that end's domain and has a link to the other end. https://github.com/openvocab/ovn/issues/3
@paulmackay1 sorry, I meant front ends , designed and integrated form interfaces
@elfpavlik @tiborkatelbach @bobhaugen @ahdinosaur @paulmackay1 @carolinesmalley and anyone else I missed:
A number of us were feeling the need to coordinate the LOD efforts, which necessarily involve the open vocab efforts too. We had a couple online meetings, then things have dropped off.
I'd like to suggest we get going again, and make sure the various efforts are coordinated. At the last meeting, someone (Elf?) suggested we create 2 tracks, one for the technical discussions and one more for the basis of unity for the work and more theoretical aspects. I'm proposing starting up the technical track.
The agenda item I am interested in is defining how we will coordinate our efforts in each of the various areas of LOD definition. Sub-groups meeting? Online docs? Etc.?
If you are interested, you could respond here, add to the agenda if you like, and I will set up a doodle so we can figure out a time.
@lynnfoster count me in for the LOD technical track. :)
Hi Lynn and all I've just been swamped with work at the moment
wishing things will calm down to try and organize a new building commons meetup
don't worry I'm reading all the messages and still in the same mojo
cheers
2014-11-13 1:35 GMT+04:00 Mikey Williams (Loomio) :
@lynnfoster count me in for the LOD technical track. :)
—
Répondre à ce message directement ou visualiser sur Loomio ( http://www.loomio..org/d/5WOvZfEq/linked-open-data?utm_campaign=thread_mailer&utm_medium=email&utm_source=new_comment#comment-335367 ).
Unfollow ( http://www.loomio.org/email_actions/unfollow_discussion/28446/L3bxJcodigDv74CqSs8j ) to stop emails about this discussion.
Change your email preferences ( http://www.loomio.org/email_preferences?unsubscribe_token=L3bxJcodigDv74CqSs8j&utm_campaign=thread_mailer&utm_medium=email&utm_source=new_comment ) to unsubscribe from Loomio emails.
Ditto on @ahdinosaur ! Eric (programmer) will do what he can to be there as well. Trusting the timing and thanks @lynnfoster for bringing it up.
http://yaml.org/spec/1.2/spec.html#id2759572
preferably I would like that we have tooling that allows everyone who wants to write such files by hand to freely choose JSON || CSON || YAML and it all gets send over wire as JSON-LD (once we need to scale better then also HDT http://ruben.verborgh.org/blog/2014/09/30/bringing-fast-triples-to-nodejs-with-hdt/ )
@ahdinosaur can you point me to code which converts your YAML to JSON?