- From: Sarven Capadisli <info@csarven.ca>
- Date: Fri, 14 Aug 2015 10:34:38 +0200
- To: public-socialweb@w3.org
I really like Chris Webber's inquiry about using multiple class types in AS here: http://socialwg.indiewebcamp.com/irc/social/2015-08-13#t1439480142472 I think James Snell addressed it eloquently and got Chris going. I would like to elaborate here in case Chris or others would like to learn more. Please pardon me if you are all familiar with the primer-like information. So, some background and real-world examples which can help you better understand why AS is essentially doing what it is doing. It starts with the idea/fact that "anyone can say anything about anything" on the Web, and how it compliments the open-world assumption. Things (people, places, ... real or imaginary) can be instances of multiple classes. That is, a resource can be described by using multiple independently developed vocabularies across the Web. The following example (in RDF Turtle, skipping the prefixes) states that http://example.org/note is an ActivityStreams note as well as an OpenAnnotation annotation. <http://example.org/foo> a as:Note , oa:Annotation . In JSON-LD (skipping the context): { "@id": "http://example.org/foo", "@type": ["Create", "oa:Annotation"] } An example of this is here in the threaded interactions: http://csarven.ca/webmention#interactions You can see other examples there where you can mix vocabularies to describe different characteristics of a resource. This is because presumably no single vocabulary could define all human knowledge. Similarly, we can of course use multiple classes which may or may not come from the same vocabulary using subclasses (e.g., person is a subclass of agent): <http://example.org/person> a foaf:Person , foaf:Agent . or from different vocabularies: <http://example.org/area> a as:Place , gr:Location . as:Place may or may not have any relations between them. They could conceptually define an "area", and they may not. One of them may inherit its semantics from the other, or not. For both humans and machines to understand that, they simply dereference as:Place or gr:Location to discover its own definition. (This sort of behaviour allows us to traverse the Web of data [including vocabularies] using the exact same mechanism; "follow-your-nose" type of exploration.) So, there may be a mapping between them (using any vocabulary) e.g: as:Place skos:exactMatch gr:Location . "skos:exactMatch is used to link two concepts, indicating a high degree of confidence that the concepts can be used interchangeably across a wide range of information retrieval applications." Another example: <http://worldbank.270a.info/classification/country/CA> skos:exactMatch <http://ecb.270a.info/code/1.0/CL_AREA_EE/CA> . The concept for Canada from the World Bank states that it is pretty much interchangeable as the concept Canada from the European Central Bank. Of course it is permitted to say that one of them is a subClass of the other, but I won't get into data and concept comparability here. (I don't want to side-track here so I'll drop an example from the wild showcasing what something like that contributes towawrds: http://stats.270a.info/analysis/worldbank:SP.DYN.IMRT.IN/transparency:CPI2009/year:2009 is a human and machine-processable federated statistical analysis). Now look at this http://lod-cloud.net/ to quench your thirst. BTW, note the giant chunk of FOAF profiles from StatusNet ;)) Whether mixing and matching vocabularies is needed or not is entirely up to the publisher. The publisher decides how to best offer or make their data useful. Using our as:Place and gr:Location from earlier, this plays an important part in data discovery e.g., a consumer may only know or wants to get a hold of as:Place or gr:Location and vice-versa, or that the publisher is using the AS vocabulary to describe some aspects of http://example.org/area and the other aspects using OA. AS and OA may have some overlap, or not. That's not really a concern. As the publisher can't conceivably know every possible way in which their data may be used (and we know that data ends up being consumed in new and creative ways), they try to (because they know their data best) strike a balance; who or what type of things are likely to consume this? What are my costs for doing that? And, so on. This plays along with the world open-world assumption because missing is not wrong. Describe things as you see fit; the "pay-as-you-go" concept works. Build and extend the graph of things on the Web as you see fit. This fundamentally allows people to remix "social" data with data from other domains e.g, geolocation, demographics, life sciences, research data, linguistics, finances. There is nothing hypothetical here. It is already happening. We are merely trying to make more explicit relations so that both humans and machines can unambiguously discover and put them to use. Having said all of that, it is good practice to follow the definitions in the ontologies/vocabularies (e.g., pay attention to what the expected domains and ranges are) in order to play along with how other people are publishing and consuming data. For example: <http://example.org/bar> a foaf:Person , gr:Location . doesn't make much sense if you want machines to figure things out on their own. Not to mention it is pretty awkward to come up with a sensible UI for humans. However, making that statement in and of itself is not wrong. Re: anyone can say anything about anything on the Web. We try to be nice, and do what we can to have interoperability but there is no policing on what we get to say. The trust layer is outside of all this. If you trust example.org's statements, or find it useful, that's up to you. For example, example.net may make statements about example.org. It is up to the consumer to decide (based on its own decision-making process) how to handle it. It is as simple as it gets. Triple statements (containing the atomic parts: subject, property, object) are made to describe everything around us (data and vocabularies). We walk through the Web / graphs all the same. The RDF *language* is essentially the EAV model for the Web. Everything else which tries to re-invent this wheel tends to fall short. Hope the above was of some interest to some of you :) -Sarven http://csarven.ca/#i
Received on Friday, 14 August 2015 08:35:15 UTC