Reputation: 1061
I was wondering how RDFa is being used. More specifically, if the Semantic web of data is made up of triplees in RDF, how does a consumer of RDFa content use that data? Does it have to be converted with a tool like GRDDL? Or are there other methods of getting the semantic data from RDFa websites?
Thanks, Bruce
Upvotes: 3
Views: 410
Reputation: 143795
RDF is nothing but a graph connecting nodes (normally, resources) to other nodes (other resources, or literals) via named edges, but with a twist. Edges can be inferred via logic, meaning that you can get answers to questions even if you never provided the answer verbatim. The inference engine is smart enough to derive these answers from what it knows about the system, and what it knows about the logic of what it describes. Example: if you specify that A is a the mother of B, the inference engine can infer that B has a parent A. You never specified an edge connecting B -- hasParent -> A
, but you specified that A -- motherOf -> B
and you also specified that hasParent
and motherOf
are inverses.
Once you have your data, you can ask questions to the database/inference engine. This operation is basically a subgraph isomoprhism search. Your query is a graph, and your database contains a huge graph with all the resources connected by named edges. The task of the database is to find those parts of the huge graph that match (are isomorph) to your query, considering also the flavour of each edge and node, not only their interconnectivity.
What is it used for ? a lot of things. You can do very powerful stuff with this data model. One that is trivial to understand is to think to social networks: people (a resource, a node of the graph) connected by relations (friendOf) and being described (isAged, livesIn). With a query, you can find all 23 years old people having at least three female friends and living in Paris.
Upvotes: 0
Reputation: 3660
One way is to use an RDFa parser to extract the triples from the RDFa document, and then process them in your app. this is what Google and co do in their search engines, I imagine.
Alternatively you can tell a SPARQL store (either in memory or persistent) to load the document, either with it's API, or SPARQL 1.1's LOAD command, and then use SPARQL queries to access the data. This will also allow you to query across many documents at the same time.
I would probably advise against trying to process triples directly unless your app or data is very simple.
Upvotes: 3
Reputation: 5435
There are a lot of ways to access RDF data. Websites like dbpedia for example have a sparql endpoint so you directly query the triples in a sort-of database language. This is quite convenient.
You can also sometimes grab the rdf directly and parse it with frameworks like Jena (Java).
Upvotes: 0