tpluskiewicz (4) [Avatar] Offline
#1
Hi

An updated preview have been recently released and I'd like to finally share my comments on the previous release. Sorry if any of that has been already corrected or addresses.

1. The bullet points are broken on Kindle (example in section 1.3)
2. I thought more example tools for generating HTML documentation for vaocabularies could be mentioned in section 2.4.2. Like OWL-Doc, LODE or Parrot.
3. A linguistic quirk in section 3.2.2. "A developer can therefore finding"
4. Invalid Kindle link reference in just after Listing 5.5.
5. Section 5.4.3, fourth paragraph - DESCRIBE can actually have graph patterns and return descriptions for variables from those patterns.
6. Listing 5.16 - I think using langMatches is genearlly better because of how language tags can be multi-part
7. HTML concatenation is quite ugly (listing 5.23)

That's it. I hope some of those make sense to you and I'm open for a discussion.

Tom
david.wood (45) [Avatar] Offline
#2
Re: My comments on previous Preview
Hi Tom,

Thanks for your feedback! I have asked Manning to look into the Kindle formatting problems.

We added your suggestions regarding alternative document generators in Chapter 2.

You are right about the DESCRIBE syntax. We will look back at Chapter 5 and tweak our wording.

I've changed Listing 5.16 to use langMatches, as you suggested. That was a good catch, even though not central to the point of the section.

I also agree with the ugliness of Listing 5.23. Do you have a better suggestion?

Regards,
Dave
tpluskiewicz (4) [Avatar] Offline
#3
Re: My comments on previous Preview
You could use jQuery to produce HTML elements:

function drawTable() {#A
var table = $('<table>')
.append($('<tr>').append($('<th>').html('Name'))
.append($('<th>').html('Symbol'))
.append($('<th>').html('Latitude'))
.append($('<th>').html('Longitude')));

results.results.bindings.forEach( function(record, idx) { #B
var row = $('<tr>').append($('<td>').html(record.name.value)) #C
.append($('<td>').html(name.substring(0,1))) #D
.append($('<td>').html(record.latitude.value))
.append($('<td>').html(record.longitude.value));

table.append(row); #E
});
}

$("#resultstable").html(table);#F

A littlr more lenghty but much cleaner IMHO. I will be important to add leading spaces to make it most readible.
lucas.ruth (10) [Avatar] Offline
#4
Re: My comments on previous Preview
Hi Tom,

Thank you for your suggestion. While I understand that you feel it is cleaner code it also comes with some disadvantages. For instance this brings in an additional dependency (jQuery) and simply replaces string concatenation syntax with jQuery append syntax. If the syntax was significantly shortened (instead of lengthened) I would agree with your suggestion.

Lastly, coding style and JavaScript/HTML concatenation are not germane to the Listing's goal. We are happy to make a footnote explaining that some people would prefer to use jQuery here but we believe the Listing as it stands is preferred.

Thank you for your feedback - it is making the book better!

-Luke