Rdf inferencing in action tgas advisors company profile


If you’ve been around me for any period of time, you’ve probably heard me say that I find two common approaches to software development: the mathematician’s approach and the linguist’s approach. gas weed The mathematician views the software design process as an equation to balance and typically does incredibly well at problems relating to algorithms, analysis, and lower-level system domains. The linguist, on the other hand, views the process of creating software as an exposition – a way of communicating an abstract idea via a constrained medium such as a programming language. gas 47 cents Both groups are useful and necessary: some of the worst code I have ever seen was written by individual with PhDs in computer science or mathematics; many an expressive program falls flat on its face when put under the most trivial of loads. I imagine that most of you already know to which camp I belong, but just in case there was any question, I unapologetically and undeniably belong to the linguists.

It has been that lens which has guided me over the years into a variety of different technology interests, from early relational databases, to XML, to REST, to – most recently – linked data and functional programming. All of these have held my attention, not for their purely technical properties, but for the clarity with which they describe their non-technical subject.

Linked data is a technology that has held my attention for some time now for two key reasons. First, I have come to believe that it is the most true real-world implementation of REST as described by Roy Fielding back at the turn of the millennium. electricity quiz ks2 Second, I believe that the elegance of RDF as a distributed graph enables an unmatched level of expressiveness for data.

The ability to model data in such an expressive manner is by itself a powerful thing. electricity 2pm mp3 However, many RDF engines have functionality to “fill in the gaps” based on certain relationships from known vocabularies like OWL. The engine can use the specified relationships to produce new relationships – called inferences. find a gas station near me Unsurprisingly, this process is called inferencing.

Now, this is all well and good in the abstract, but many folks I’ve spoken with about topics like linked data, RDF, and inferencing have had a harder time bridging the theory into something more concrete. So recently, I finally got around to putting a Javascript inferencing sample together using the rdflib.js engine and JSON-LD for the RDF serialization. The added benefit to using JSON-LD is that you can take all of the JSON snippets here and plug them into the JSON-LD playground to see what some of the expanded formats would look like – which is how they are seen by the RDF engine.

The code here does not need to be aware of every possible vocabulary that could be used to create a JSON-LD document – it only cares about the http://schema.org/givenName relationship as specified in schema.org. physics c electricity and magnetism study guide The sameAs inferencing rule between http://schema.howarddierking.com/firstName and http://schema.org/givenName caused rdflib.js to generate the inferred relationship, and thereby enabled the query for a value on the right side of a givenName relationship to succeed.

So there you have it. gas in spanish RDF inferencing enables us to specify relationships between metadata – even metadata from different vocabularies – and then use those relationships to process a variety of data without the lossiness of other popular methods like document transformations. This translates into more expressive, and I believe ultimately more robust data processing systems.